Autentisering

Användarregistrering

Standardinställningen för Weblate är att använda python-social-auth, ett formulär på webbplatsen för att hantera registrering av nya användare. Efter att ha bekräftat sin e-postadress kan en ny användare bidra eller autentisera sig genom att använda en av tredjepartstjänsterna.

Du kan också inaktivera registrering av nya användare med REGISTRATION_OPEN.

Autentiseringsförsöken är föremål för Hastighetsbegränsande.

Autentiseringsbackend

Weblate använder Django för autentisering. Detta inkluderar inbyggd lösenordsbaserad autentisering, social autentisering och tredjepartsautentiseringsbackends för Django.

Genom att använda Djangos inbyggda autentisering kan du importera användardatabasen från andra Django-baserade projekt (se Migrera från Pootle).

Se även

Autentiseringsinställningar beskriver hur man konfigurerar autentisering i den officiella Docker-bilden.

Social autentisering

Tack vare Welcome to Python Social Auth’s documentation! stöder Weblate autentisering med hjälp av många tredjepartstjänster såsom GitLab, Ubuntu, Fedora etc.

Se deras dokumentation för generella konfigurationsinstruktioner i Django Framework.

Observera

Som standard förlitar sig Weblate på tredjepartsautentiseringstjänster för att tillhandahålla en validerad e-postadress. Om några av de tjänster du vill använda inte stöder detta, vänligen tvinga fram e-postvalidering på Weblate-sidan genom att konfigurera FORCE_EMAIL_VALIDATION för dem. Till exempel:

SOCIAL_AUTH_OPENSUSE_FORCE_EMAIL_VALIDATION = True

Se även

Pipeline

Det är ganska enkelt att aktivera enskilda backends, det är bara att lägga till en post i inställningen AUTHENTICATION_BACKENDS och eventuellt lägga till nycklar som behövs för en viss autentiseringsmetod. Observera att vissa backends inte tillhandahåller användarens e-postadress som standard, du måste begära den uttryckligen, annars kommer Weblate inte att kunna kreditera användarnas bidrag på rätt sätt.

Råd

De flesta autentiseringsbackends kräver HTTPS. När HTTPS har aktiverats på din webbserver ska du konfigurera Weblate så att det rapporteras korrekt med ENABLE_HTTPS eller med WEBLATE_ENABLE_HTTPS i Docker-containern.

OpenID-autentisering

För OpenID-baserade tjänster är det vanligtvis bara en fråga om att aktivera dem. Följande avsnitt aktiverar OpenID-autentisering för OpenSUSE, Fedora och Ubuntu:

# Authentication configuration
AUTHENTICATION_BACKENDS = (
    "social_core.backends.email.EmailAuth",
    "social_core.backends.suse.OpenSUSEOpenId",
    "social_core.backends.ubuntu.UbuntuOpenId",
    "social_core.backends.fedora.FedoraOpenId",
    "weblate.accounts.auth.WeblateUserBackend",
)

Se även

OpenID

GitHub-autentisering

Du måste registrera en OAuth-applikation på GitHub och sedan uppge alla dess hemligheter för Weblate:

# Authentication configuration
AUTHENTICATION_BACKENDS = (
    "social_core.backends.github.GithubOAuth2",
    "social_core.backends.email.EmailAuth",
    "weblate.accounts.auth.WeblateUserBackend",
)

# Social auth backends setup
SOCIAL_AUTH_GITHUB_KEY = "GitHub Client ID"
SOCIAL_AUTH_GITHUB_SECRET = "GitHub Client Secret"
SOCIAL_AUTH_GITHUB_SCOPE = ["user:email"]

GitHub bör konfigureras så att den har återuppringnings-URL:en https://WEBLATE SERVER/accounts/complete/github/.

Det finns liknande autentiseringsbackends för GitHub for Organizations och GitHub for Teams. Deras inställningar heter SOCIAL_AUTH_GITHUB_ORG_* och SOCIAL_AUTH_GITHUB_TEAM_*, och de kräver ytterligare inställningar av omfattningen - SOCIAL_AUTH_GITHUB_ORG_NAME eller SOCIAL_AUTH_GITHUB_TEAM_ID. Deras återuppringnings-URL:er är https://WEBLATE SERVER/accounts/complete/github-org/ och https://WEBLATE SERVER/accounts/complete/github-teams/.

Observera

Weblate tillhandahöll återuppringnings-URL under autentiseringen inkluderar konfigurerad domän. Om du får felmeddelanden om att URL inte stämmer överens kan du åtgärda detta, se Ställ in rätt webbplatsdomän.

Se även

GitHub

GitHub EE-autentisering

Du måste registrera en OAuth-app på GitHub EE och sedan ange alla dess hemligheter i Weblate:

# Authentication configuration
AUTHENTICATION_BACKENDS = (
    "social_core.backends.github_enterprise.GithubEnterpriseOAuth2",
    "social_core.backends.email.EmailAuth",
    "weblate.accounts.auth.WeblateUserBackend",
)

# Social auth backends setup
SOCIAL_AUTH_GITHUB_ENTERPRISE_KEY = "GitHub OAuth App Client ID"
SOCIAL_AUTH_GITHUB_ENTERPRISE_SECRET = "GitHub OAuth App Client Secret"
SOCIAL_AUTH_GITHUB_ENTERPRISE_URL = "https://git.example.com/"
SOCIAL_AUTH_GITHUB_ENTERPRISE_API_URL = "https://git.example.com/api/v3/"
SOCIAL_AUTH_GITHUB_ENTERPRISE_SCOPE = ["user:email"]

GitHub OAuth-appen ska konfigureras så att den har återkopplings-URL:en https://WEBLATE SERVER/accounts/complete/github-enterprise/.

Istället för GitHub OAuth App kan även GitHub App användas. Med GitHub App kan behörigheter beviljas på repositorier, organisations- och/eller användarnivå. Om du väljer att använda GitHub App måste du aktivera behörigheten Access: Read-only för användare - <Email addresses> och organisation - <Members>.

Observera

Weblate tillhandahöll återuppringnings-URL under autentiseringen inkluderar konfigurerad domän. Om du får felmeddelanden om att URL inte stämmer överens kan du åtgärda detta, se Ställ in rätt webbplatsdomän.

Bitbucket-autentisering

Du måste registrera en applikation på Bitbucket och sedan berätta alla dess hemligheter för Weblate:

# Authentication configuration
AUTHENTICATION_BACKENDS = (
    "social_core.backends.bitbucket.BitbucketOAuth2",
    "social_core.backends.email.EmailAuth",
    "weblate.accounts.auth.WeblateUserBackend",
)

# Social auth backends setup
SOCIAL_AUTH_BITBUCKET_OAUTH2_KEY = "Bitbucket Client ID"
SOCIAL_AUTH_BITBUCKET_OAUTH2_SECRET = "Bitbucket Client Secret"
SOCIAL_AUTH_BITBUCKET_OAUTH2_VERIFIED_EMAILS_ONLY = True

Observera

Weblate tillhandahöll återuppringnings-URL under autentiseringen inkluderar konfigurerad domän. Om du får felmeddelanden om att URL inte stämmer överens kan du åtgärda detta, se Ställ in rätt webbplatsdomän.

Se även

Bitbucket

Google OAuth 2

För att kunna använda Google OAuth 2 måste du registrera en OAuth-applikation på <https://console.developers.google.com/>.

Omdirigeringsadressen är https://WEBLATE SERVER/accounts/complete/google-oauth2/.

# Authentication configuration
AUTHENTICATION_BACKENDS = (
    "social_core.backends.google.GoogleOAuth2",
    "social_core.backends.email.EmailAuth",
    "weblate.accounts.auth.WeblateUserBackend",
)

# Social auth backends setup
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = "Client ID"
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = "Client secret"

Observera

Weblate tillhandahöll återuppringnings-URL under autentiseringen inkluderar konfigurerad domän. Om du får felmeddelanden om att URL inte stämmer överens kan du åtgärda detta, se Ställ in rätt webbplatsdomän.

Se även

Google

Facebook OAuth 2

Som vanligt med OAuth 2-tjänster måste du registrera din applikation hos Facebook. När detta är gjort kan du konfigurera Weblate för att använda den:

Omdirigeringsadressen är https://WEBLATE SERVER/accounts/complete/facebook/.

# Authentication configuration
AUTHENTICATION_BACKENDS = (
    "social_core.backends.facebook.FacebookOAuth2",
    "social_core.backends.email.EmailAuth",
    "weblate.accounts.auth.WeblateUserBackend",
)

# Social auth backends setup
SOCIAL_AUTH_FACEBOOK_KEY = "key"
SOCIAL_AUTH_FACEBOOK_SECRET = "secret"
SOCIAL_AUTH_FACEBOOK_SCOPE = ["email", "public_profile"]

Observera

Weblate tillhandahöll återuppringnings-URL under autentiseringen inkluderar konfigurerad domän. Om du får felmeddelanden om att URL inte stämmer överens kan du åtgärda detta, se Ställ in rätt webbplatsdomän.

Se även

Facebook

GitLab OAuth 2

För att kunna använda GitLab OAuth 2 måste du registrera en applikation på <https://gitlab.com/profile/applications>.

Omdirigeringsadressen är https://WEBLATE SERVER/accounts/complete/gitlab/ och se till att du markerar read_user-omfånget.

# Authentication configuration
AUTHENTICATION_BACKENDS = (
    "social_core.backends.gitlab.GitLabOAuth2",
    "social_core.backends.email.EmailAuth",
    "weblate.accounts.auth.WeblateUserBackend",
)

# Social auth backends setup
SOCIAL_AUTH_GITLAB_KEY = "Application ID"
SOCIAL_AUTH_GITLAB_SECRET = "Secret"
SOCIAL_AUTH_GITLAB_SCOPE = ["read_user"]

# If you are using your own GitLab
# SOCIAL_AUTH_GITLAB_API_URL = 'https://gitlab.example.com/'

Observera

Weblate tillhandahöll återuppringnings-URL under autentiseringen inkluderar konfigurerad domän. Om du får felmeddelanden om att URL inte stämmer överens kan du åtgärda detta, se Ställ in rätt webbplatsdomän.

Se även

GitLab

Gitea OAuth 2

För att kunna använda Gitea OAuth 2 måste du registrera en applikation på https://GITEA SERVER/user/settings/applications.

Omdirigeringsadressen är https://WEBLATE SERVER/accounts/complete/gitea/.

# Authentication configuration
AUTHENTICATION_BACKENDS = (
    "social_core.backends.gitea.GiteaOAuth2",
    "social_core.backends.email.EmailAuth",
    "weblate.accounts.auth.WeblateUserBackend",
)

# Social auth backends setup
SOCIAL_AUTH_GITEA_KEY = ""
SOCIAL_AUTH_GITEA_SECRET = ""

# If you are using your own Gitea
SOCIAL_AUTH_GITEA_API_URL = "https://gitea.example.com/"

Observera

Weblate tillhandahöll återuppringnings-URL under autentiseringen inkluderar konfigurerad domän. Om du får felmeddelanden om att URL inte stämmer överens kan du åtgärda detta, se Ställ in rätt webbplatsdomän.

Observera

Konfigurationen ovan fungerar även med Forgejo. För ett exempel på produktionsdistribution med Forgejo, se Codeberg Translate.

Se även

Gitea

Microsoft Azure Active Directory

Weblate kan konfigureras för att använda allmänna eller specifika användare för autentisering.

Omdirigerings-URL:en är https://WEBLATE SERVER/accounts/complete/azuread-oauth2/ för allmän autentisering och https://WEBLATE SERVER/accounts/complete/azuread-tenant-oauth2/ för hyresgästspecifik autentisering.

Du behöver följande:

  • Applikations-ID (klient-ID) kan hämtas från applikationssidan. Objekt-ID används inte i Weblate.

  • Katalog-ID (tenant) ID behövs för autentisering inom tenant-ramen, vilket vanligtvis är önskvärt.

  • Hemligt värde visas när du genererar en hemlighet för en applikation. Hemligt ID används inte i Weblate.

# Azure AD common

# Authentication configuration
AUTHENTICATION_BACKENDS = (
    "social_core.backends.azuread.AzureADOAuth2",
    "social_core.backends.email.EmailAuth",
    "weblate.accounts.auth.WeblateUserBackend",
)

# OAuth2 keys
SOCIAL_AUTH_AZUREAD_OAUTH2_KEY = ""
SOCIAL_AUTH_AZUREAD_OAUTH2_SECRET = ""
# Azure AD Tenant

# Authentication configuration
AUTHENTICATION_BACKENDS = (
    "social_core.backends.azuread_tenant.AzureADTenantOAuth2",
    "social_core.backends.email.EmailAuth",
    "weblate.accounts.auth.WeblateUserBackend",
)

# Application (client) ID
SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_KEY = ""
# Secret value
SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_SECRET = ""
# Directory (tenant) ID
SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_TENANT_ID = ""

Observera

Weblate tillhandahöll återuppringnings-URL under autentiseringen inkluderar konfigurerad domän. Om du får felmeddelanden om att URL inte stämmer överens kan du åtgärda detta, se Ställ in rätt webbplatsdomän.

Slack

För att kunna använda Slack OAuth 2 måste du registrera en applikation på <https://api.slack.com/apps>.

Omdirigeringsadressen är https://WEBLATE SERVER/accounts/complete/slack/.

# Authentication configuration
AUTHENTICATION_BACKENDS = (
    "social_core.backends.slack.SlackOAuth2",
    "social_core.backends.email.EmailAuth",
    "weblate.accounts.auth.WeblateUserBackend",
)

# Social auth backends setup
SOCIAL_AUTH_SLACK_KEY = ""
SOCIAL_AUTH_SLACK_SECRET = ""

Observera

Weblate tillhandahöll återuppringnings-URL under autentiseringen inkluderar konfigurerad domän. Om du får felmeddelanden om att URL inte stämmer överens kan du åtgärda detta, se Ställ in rätt webbplatsdomän.

Se även

Slack

Överordnade autentiseringsmetoder och ikoner

Du kan åsidosätta visningsnamnet och ikonen för autentiseringsmetoden med hjälp av inställningarna SOCIAL_AUTH_<NAME>_IMAGE och SOCIAL_AUTH_<NAME>_TITLE. Ett exempel på åsidosättande av namngivning för Auth0 skulle se ut så här:

SOCIAL_AUTH_AUTH0_IMAGE = "custom.svg"
SOCIAL_AUTH_AUTH0_TITLE = "Custom auth"

Inaktivera lösenordsautentisering

E-post- och lösenordsautentisering kan inaktiveras genom att ta bort social_core.backends.email.EmailAuth från AUTHENTICATION_BACKENDS. Behåll alltid weblate.accounts.auth.WeblateUserBackend där, det behövs för Weblates kärnfunktioner.

Om du inaktiverar e-postautentisering inaktiveras alla e-postrelaterade funktioner – användarinbjudningar och återställning av lösenord.

Tips

Du kan fortfarande använda lösenordsautentisering för administratörsgränssnittet för användare som du skapar manuellt där. Gå bara till /admin/login/.

Autentisering med endast openSUSE Open ID-leverantören kan till exempel uppnås med följande:

# Authentication configuration
AUTHENTICATION_BACKENDS = (
    "social_core.backends.suse.OpenSUSEOpenId",
    "weblate.accounts.auth.WeblateUserBackend",
)

Autentisering med lösenord

Standardfilen settings.py innehåller en rimlig uppsättning AUTH_PASSWORD_VALIDATORS som säkerställer att svaga lösenord inte tillåts. Du kan anpassa denna inställning så att den överensstämmer med din lösenordspolicy.

Dessutom kan du också installera django-zxcvbn-password-validator som ger ganska realistiska uppskattningar av lösenordets svårighetsgrad och gör det möjligt att avvisa lösenord som ligger under en viss tröskel.

SAML-autentisering

Added in version 4.1.1.

Förändrat i version 5.12: Beroendena för SAML-autentisering ingår inte längre i standardtilläggen all. Du måste inkludera saml när du installerar Weblate-paketet med pip (uv pip install Weblate[all,saml]).

Följ instruktionerna för Python Social Auth för konfiguration. Viktiga skillnader:

  • Weblate stöder en enda IDP som måste kallas weblate i SOCIAL_AUTH_SAML_ENABLED_IDPS.

  • SAML XML-metadata-URL:en är /accounts/metadata/saml/, vilket också är ett entitets-ID.

  • Inloggningsadressen är /accounts/complete/saml/ (även känd som ACS-adress).

  • Följande inställningar fylls i automatiskt: SOCIAL_AUTH_SAML_SP_ENTITY_ID, SOCIAL_AUTH_SAML_TECHNICAL_CONTACT, SOCIAL_AUTH_SAML_SUPPORT_CONTACT

Exempel på konfiguration:

# Authentication configuration
AUTHENTICATION_BACKENDS = (
    "social_core.backends.email.EmailAuth",
    "social_core.backends.saml.SAMLAuth",
    "weblate.accounts.auth.WeblateUserBackend",
)

# Social auth backends setup
SOCIAL_AUTH_SAML_SP_ENTITY_ID = f"https://{SITE_DOMAIN}/accounts/metadata/saml/"
SOCIAL_AUTH_SAML_SP_PUBLIC_CERT = "-----BEGIN CERTIFICATE-----"
SOCIAL_AUTH_SAML_SP_PRIVATE_KEY = "-----BEGIN PRIVATE KEY-----"
SOCIAL_AUTH_SAML_ENABLED_IDPS = {
    "weblate": {
        "entity_id": "https://idp.testshib.org/idp/shibboleth",
        "url": "https://idp.testshib.org/idp/profile/SAML2/Redirect/SSO",
        "x509cert": "MIIEDjCCAvagAwIBAgIBADA ... 8Bbnl+ev0peYzxFyF5sQA==",
    }
}
SOCIAL_AUTH_SAML_ORG_INFO = {
    "en-US": {
        "name": "example",
        "displayname": "Example Inc.",
        "url": "http://example.com"
    }
}
SOCIAL_AUTH_SAML_TECHNICAL_CONTACT = {
    "givenName": "Tech Gal",
    "emailAddress": "technical@example.com"
}
SOCIAL_AUTH_SAML_SUPPORT_CONTACT = {
    "givenName": "Support Guy",
    "emailAddress": "support@example.com"
}

Standardkonfigurationen extraherar användarinformation från följande attribut. Konfigurera din IdP så att den tillhandahåller dessa:

Attribut

SAML URI-referens

Fullständigt namn

urn:oid:2.5.4.3

Förnamn

urn:oid:2.5.4.42

Efternamn

urn:oid:2.5.4.4

E-post

urn:oid:0.9.2342.19200300.100.1.3

Användarnamn

urn:oid:0.9.2342.19200300.100.1.1

När du konfigurerar Weblate SP i din IdP rekommenderas det att välja persistent Namn-ID-format.

Råd

Exemplet ovan och Docker-bilden definierar en IdP som heter weblate. Du kan behöva konfigurera denna sträng som Relay i din IdP.

Observera

Weblate-autentisering är beroende av att parametern RelayState skickas genom autentiseringsprocessen. Detta måste konfigureras med vissa identitetsleverantörer:

Autentisering med LDAP

LDAP-autentisering kan bäst uppnås med hjälp av paketet django-auth-ldap. Du kan installera det på vanligt sätt:

# Using PyPI
uv pip install 'django-auth-ldap>=1.3.0'

# Using apt-get
apt-get install python-django-auth-ldap

Råd

Detta paket ingår i Docker-containern, se Installera med Docker.

Observera

Det finns vissa inkompatibiliteter i Python LDAP 3.1.0-modulen, vilket kan hindra dig från att använda den versionen. Om du får felmeddelandet AttributeError: ’module’ object has no attribute ’_trace_level’ kan det hjälpa att nedgradera python-ldap till 3.0.0.

När du har installerat paketet kan du koppla det till Djangos autentisering:

# Add LDAP backed, keep Django one if you want to be able to sign in
# even without LDAP for admin account
AUTHENTICATION_BACKENDS = (
    "django_auth_ldap.backend.LDAPBackend",
    "weblate.accounts.auth.WeblateUserBackend",
)

# LDAP server address
AUTH_LDAP_SERVER_URI = "ldaps://ldap.example.net"

# DN to use for authentication
AUTH_LDAP_USER_DN_TEMPLATE = "cn=%(user)s,o=Example"
# Depending on your LDAP server, you might use a different DN
# like:
# AUTH_LDAP_USER_DN_TEMPLATE = 'ou=users,dc=example,dc=com'

# List of attributes to import from LDAP upon sign in
# Weblate stores full name of the user in the full_name attribute
AUTH_LDAP_USER_ATTR_MAP = {
    "full_name": "name",
    # Use the following if your LDAP server does not have full name
    # Weblate will merge them later
    # 'first_name': 'givenName',
    # 'last_name': 'sn',
    # Email is required for Weblate (used in VCS commits)
    "email": "mail",
}

# Hide the registration form
REGISTRATION_OPEN = False

Observera

Du bör ta bort 'social_core.backends.email.EmailAuth' från inställningen AUTHENTICATION_BACKENDS, annars kommer användare att kunna ställa in sitt lösenord i Weblate och autentisera sig med det. Det är fortfarande nödvändigt att behålla 'weblate.accounts.auth.WeblateUserBackend' för att skapa behörigheter och underlätta för anonyma användare. Det gör det också möjligt att logga in med ett lokalt administratörskonto, om du har skapat ett sådant (t.ex. med createadmin).

Använda bindlösenord

Om du inte kan använda direktbindning för autentisering måste du använda sökning och ange en användare att binda för sökningen. Till exempel:

import ldap
from django_auth_ldap.config import LDAPSearch

AUTH_LDAP_BIND_DN = ""
AUTH_LDAP_BIND_PASSWORD = ""
AUTH_LDAP_USER_SEARCH = LDAPSearch(
    "ou=users,dc=example,dc=com", ldap.SCOPE_SUBTREE, "(uid=%(user)s)"
)

Active Directory-integration

import ldap
from django_auth_ldap.config import LDAPSearch, NestedActiveDirectoryGroupType

AUTH_LDAP_BIND_DN = "CN=ldap,CN=Users,DC=example,DC=com"
AUTH_LDAP_BIND_PASSWORD = "password"

# User and group search objects and types
AUTH_LDAP_USER_SEARCH = LDAPSearch(
    "CN=Users,DC=example,DC=com", ldap.SCOPE_SUBTREE, "(sAMAccountName=%(user)s)"
)

# Make selected group a superuser in Weblate
AUTH_LDAP_USER_FLAGS_BY_GROUP = {
    # is_superuser means user has all permissions
    "is_superuser": "CN=weblate_AdminUsers,OU=Groups,DC=example,DC=com",
}

# Map groups from AD to Weblate
AUTH_LDAP_GROUP_SEARCH = LDAPSearch(
    "OU=Groups,DC=example,DC=com", ldap.SCOPE_SUBTREE, "(objectClass=group)"
)
AUTH_LDAP_GROUP_TYPE = NestedActiveDirectoryGroupType()
AUTH_LDAP_FIND_GROUP_PERMS = True

# Optionally enable group mirroring from LDAP to Weblate
# AUTH_LDAP_MIRROR_GROUPS = True

Autentisering med CAS

CAS-autentisering kan uppnås med hjälp av ett paket som Django CAS NG.

Steg ett är att avslöja användarens e-postfält via CAS. Detta måste konfigureras på själva CAS-servern och kräver att du kör minst CAS v2, eftersom CAS v1 inte stöder attribut alls.

Steg två är att uppdatera Weblate så att den använder din CAS-server och dina attribut.

För att installera Django CAS NG:

uv pip install django-cas-ng

När du har installerat paketet kan du koppla det till Djangos autentiseringssystem genom att ändra filen settings.py:

# Add CAS backed, keep the Django one if you want to be able to sign in
# even without LDAP for the admin account
AUTHENTICATION_BACKENDS = (
    "django_cas_ng.backends.CASBackend",
    "weblate.accounts.auth.WeblateUserBackend",
)

# CAS server address
CAS_SERVER_URL = "https://cas.example.net/cas/"

# Add django_cas_ng somewhere in the list of INSTALLED_APPS
INSTALLED_APPS = (..., "django_cas_ng")

Slutligen kan en signal användas för att mappa e-postfältet till användarobjektet. För att detta ska fungera måste du importera signalen från paketet django-cas-ng och koppla din kod till denna signal. Att göra detta i inställningsfilen kan orsaka problem, därför rekommenderas det att placera den:

from django_cas_ng.signals import cas_user_authenticated
from django.dispatch import receiver


@receiver(cas_user_authenticated)
def update_user_email_address(sender, user=None, attributes=None, **kwargs):
    # If your CAS server does not always include the email attribute
    # you can wrap the next two lines of code in a try/catch block.
    user.email = attributes["email"]
    user.save()

Konfigurera tredjeparts Django-autentisering

I allmänhet bör alla Django-autentiseringsplugins fungera med Weblate. Följ bara instruktionerna för pluginen och kom ihåg att behålla Weblate-användarbackend installerad.

Vanligtvis består installationen av att lägga till en autentiseringsbackend till AUTHENTICATION_BACKENDS och installera en autentiseringsapp (om det finns någon) i INSTALLED_APPS:

AUTHENTICATION_BACKENDS = (
    # Add authentication backend here
    "weblate.accounts.auth.WeblateUserBackend",
)

INSTALLED_APPS += (
    # Install authentication app here
)

Tvåfaktorsautentisering

Added in version 5.7.

Råd

Tvåfaktorsautentisering lägger till ytterligare ett säkerhetslager till ditt konto genom att kräva mer än bara ett lösenord för att logga in.

Weblate stöder följande andra faktorer:

Säkerhetsnycklar (WebAuthn)

Både passnycklar och säkerhetsnycklar stöds.

Passkeys validerar din identitet med hjälp av touch, ansiktsigenkänning, ett enhetslösenord eller en PIN-kod, eftersom de inkluderar användarverifiering.

Säkerhetsnycklar är WebAuthn-autentiseringsuppgifter som endast kan användas som en andra autentiseringsfaktor, och dessa validerar endast användarens närvaro.

Autentiseringsappar (TOTP)

Autentiseringsappar och webbläsartillägg som Aegis, Bitwarden, Google Authenticator, 1Password, Authy, Microsoft Authenticator etc. genererar tidsbaserade engångslösenord som används som en andra faktor för att verifiera din identitet när du ombeds göra det vid inloggningen.

Återställningskoder

Återställningskoder kan användas för att komma åt ditt konto om du förlorar åtkomsten till din enhet och inte kan ta emot tvåfaktorsautentiseringskoder.

Förvara dina återställningskoder lika säkert som ditt lösenord. Vi rekommenderar att du sparar dem med en lösenordshanterare som Bitwarden, 1Password, Authy eller Keeper.

Varje användare kan konfigurera detta i Konto och en andra faktor kommer att krävas för inloggning utöver den befintliga autentiseringsmetoden.

Detta kan tillämpas för användare på projektnivå (se Tvingande tvåfaktorsautentisering) eller teamnivå.

Behörigheterna för ett team med tvingande tvåfaktorsautentisering kommer inte att tillämpas på användare som inte har den konfigurerad.