身分驗證

使用者註冊

Weblate 的預設設定使用 python-social-auth,網站上處理新使用者註冊的一種形式。確定電子郵件後,新使用者可以透過使用一種第三方服務來貢獻或證實。

還可以使用 REGISTRATION_OPEN 關閉新使用者註冊。

身分驗證嘗試服從於 速率限制

身分驗證後端

Weblate 使用 Django 處理身分驗證,包括內建的密碼身分驗證、社群身分驗證,以及 Django 的第三方身分驗證後端。

使用 Django 內建身分驗證,表示您可以匯入其他以 Django 為基礎之專案的使用者資料庫(請參閱 從 Pootle 移轉)。

也參考

身分驗證設定 描述瞭解如何設定官方 Docker 映像的身分驗證。

社交身分驗證

由於 Welcome to Python Social Auth’s documentation!, Weblate 支援很多使用第三方服務的身分驗證,如 GitLab 、 Ubuntu 、 Fedora 等。

請檢查 Django Framework 中的通用設定說明的說明文件。

備註

Weblate 預設依賴於第三方身分驗證服務來提供合法的電子郵件地址。如果想要使用的一些服務不支援,請透過為其設定 FORCE_EMAIL_VALIDATION,來強制 Weblate 網站上的電子郵件驗證:

SOCIAL_AUTH_OPENSUSE_FORCE_EMAIL_VALIDATION = True

也參考

Pipeline

啟用個別後端相當簡單,只要將項目加入 AUTHENTICATION_BACKENDS 設定,並視需要加入該身分驗證方式所需的金鑰。請注意,有些後端預設不提供使用者電子郵件,您必須明確要求提供,否則 Weblate 無法正確標示使用者的貢獻。

提示

大部分的後端授權需要 HTTPS。一旦啟用網頁服務上的 HTTPS,請設定 Weblate 環境參數 ENABLE_HTTPS 或 Docker 環境參數 WEBLATE_ENABLE_HTTPS

OpenID 身分驗證

對以 OpenID 為基礎的服務而言,通常只要啟用即可。下列設定會為 openSUSE、Fedora 及 Ubuntu 啟用 OpenID 身分驗證:

# 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",
)

也參考

OpenID

GitHub 身分驗證

您需要在 GitHub 上註冊 OAuth 應用程式,並將其全部秘密傳遞給 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 的回呼 URL 應設定為 https://WEBLATE SERVER/accounts/complete/github/

GitHub for Organizations 及 GitHub for Teams 也有類似的身分驗證後端。其設定名稱為 SOCIAL_AUTH_GITHUB_ORG_*SOCIAL_AUTH_GITHUB_TEAM_*,並需要額外設定作用範圍:SOCIAL_AUTH_GITHUB_ORG_NAMESOCIAL_AUTH_GITHUB_TEAM_ID。其回呼 URL 為 https://WEBLATE SERVER/accounts/complete/github-org/https://WEBLATE SERVER/accounts/complete/github-teams/

備註

Weblate 在身分驗證時提供的回呼 URL。在得到 URL 不相符的錯誤時,可以根據需要來修復,請參閱 設定正確的網站網域

也參考

GitHub

GitHub EE 身分驗證

您需要在 GitHub EE 註冊 OAuth App,然後將所有機密資訊提供給 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 App 的回呼 URL 應設定為 https://WEBLATE SERVER/accounts/complete/github-enterprise/

除了 GitHub OAuth App,也可以使用 GitHub App。GitHub App 權限可在儲存庫、組織和/或使用者層級授予。如果決定使用 GitHub App,您需要為 Users - <Email addresses> 及 Organisation - <Members> 啟用 Access: Read-only 權限。

備註

Weblate 在身分驗證時提供的回呼 URL。在得到 URL 不相符的錯誤時,可以根據需要來修復,請參閱 設定正確的網站網域

也參考

Backend classes

Bitbucket 身分驗證

需要在 Bitbucket 上註冊應用,然後告訴 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

備註

Weblate 在身分驗證時提供的回呼 URL。在得到 URL 不相符的錯誤時,可以根據需要來修復,請參閱 設定正確的網站網域

也參考

Bitbucket

Google OAuth 2

要使用 Google OAuth 2,您必須在 <https://console.developers.google.com/> 註冊 OAuth 應用程式。

重新導向 URL 為 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"

備註

Weblate 在身分驗證時提供的回呼 URL。在得到 URL 不相符的錯誤時,可以根據需要來修復,請參閱 設定正確的網站網域

也參考

Google

Facebook OAuth 2

與一般 OAuth 2 服務相同,您需要向 Facebook 註冊應用程式。完成後即可設定 Weblate 使用該應用程式:

重新導向 URL 為 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"]

備註

Weblate 在身分驗證時提供的回呼 URL。在得到 URL 不相符的錯誤時,可以根據需要來修復,請參閱 設定正確的網站網域

也參考

Facebook

GitLab OAuth 2

若要使用 GitLab OAuth 2,您需要在 <https://gitlab.com/profile/applications> 註冊應用程式。

重新導向 URL 為 https://WEBLATE SERVER/accounts/complete/gitlab/,並確保您標註 read_user 範圍。

# 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/'

備註

Weblate 在身分驗證時提供的回呼 URL。在得到 URL 不相符的錯誤時,可以根據需要來修復,請參閱 設定正確的網站網域

也參考

GitLab

Gitea OAuth 2

若要使用 Gitea OAuth 2,您需要在 https://GITEA SERVER/user/settings/applications 註冊應用程式。

重新導向 URL 為 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/"

備註

Weblate 在身分驗證時提供的回呼 URL。在得到 URL 不相符的錯誤時,可以根據需要來修復,請參閱 設定正確的網站網域

備註

以上設定同樣適用 Forgejo;對於 Forgejo 的正式環境部署範例,請見 Codeberg Translate

也參考

Gitea

Microsoft Entra ID

Azure Active Directory(Azure AD)現在稱為 Microsoft Entra ID。為了與底層 Python Social Auth 後端及既有部署保持相容,Weblate 仍保留 azuread-oauth2azuread-tenant-oauth2 後端名稱。

可以設定 Weblate,使用一般或特定租戶進行身分驗證。

常見的重新導向 URL 為 https://WEBLATE SERVER/accounts/complete/azuread-oauth2/,而 https://WEBLATE SERVER/accounts/complete/azuread-tenant-oauth2/ 用於租戶專屬的身分驗證。

您需要下列項目:

  • Application (client) ID 位於 Microsoft Entra 管理中心的應用程式註冊概覽。Weblate 不使用 Object ID

  • 租戶範圍的身分驗證需要 Directory (tenant) ID,而這通常是所需的設定。

  • 為應用程式註冊建立用戶端密碼後,系統只會顯示一次 Secret value。Weblate 不使用 Secret ID

# Microsoft Entra ID 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 = ""
# Microsoft Entra ID with 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 = ""

備註

Weblate 在身分驗證時提供的回呼 URL。在得到 URL 不相符的錯誤時,可以根據需要來修復,請參閱 設定正確的網站網域

Slack

若要使用 Slack OAuth 2,您需要在 <https://api.slack.com/apps> 註冊應用程式。

重新導向 URL 為 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 = ""

備註

Weblate 在身分驗證時提供的回呼 URL。在得到 URL 不相符的錯誤時,可以根據需要來修復,請參閱 設定正確的網站網域

也參考

Slack

覆寫身分驗證方式名稱與圖示

您可以使用 SOCIAL_AUTH_<NAME>_IMAGESOCIAL_AUTH_<NAME>_TITLE 等設定,覆寫身分驗證方法的顯示名稱及圖示。例如,覆寫 Auth0 名稱的設定如下:

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

關閉密碼身分驗證

AUTHENTICATION_BACKENDS 移除 social_core.backends.email.EmailAuth,即可停用電子郵件及密碼身分驗證。請務必保留 weblate.accounts.auth.WeblateUserBackend,因為 Weblate 核心功能需要這個後端。

停用電子郵件身分驗證,也會停用所有電子郵件相關功能,包括邀請使用者及重設密碼。

小訣竅

對於手動建立的使用者,可以仍然在管理介面使用密碼身分驗證。只需導覽到 /admin/login/

例如,只使用 openSUSE Open ID 服務提供者進行身分驗證,可以採用下列設定:

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

密碼驗證

預設 settings.py 隨附一組合理的 AUTH_PASSWORD_VALIDATORS,可確保不允許弱密碼。您可以自訂此設定,以符合自身密碼原則。

此外,您也可以安裝 django-zxcvbn-password-validator。這個套件能以相當貼近實際情況的方式估算密碼強度,並拒絕強度低於指定門檻的密碼。

SAML 身分驗證

在 4.1.1 版被加入.

在 5.12 版的變更: The dependencies for SAML authentication are no longer included in the default all extras. You need to include saml while installing the Weblate package using pip (uv pip install Weblate[all,saml]).

請遵守 Python Social Auth 的說明來設定。顯著的差異有:

  • Weblate 支援單一 IDP,在 SOCIAL_AUTH_SAML_ENABLED_IDPS 中被稱為 weblate

  • SAML XML 中繼資料 URL 為 /accounts/metadata/saml/,同時也是實體 ID。

  • The sign-in URL is /accounts/complete/saml/ (also known as ACS URL).

  • 後面的設定自動填入: SOCIAL_AUTH_SAML_SP_ENTITY_IDSOCIAL_AUTH_SAML_TECHNICAL_CONTACTSOCIAL_AUTH_SAML_SUPPORT_CONTACT

設定範例:

# 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"
}

您可以使用下列方式產生新的金鑰組:

openssl req -newkey rsa:4096 -new -x509 -days 3652 -nodes -out saml.crt -keyout saml.key

預設設定會從下列屬性擷取使用者詳細資料,請設定 IdP 提供這些屬性:

屬性

SAML URI 引用

全名

urn:oid:2.5.4.3

名字

urn:oid:2.5.4.42

姓氏

urn:oid:2.5.4.4

電子郵件

urn:oid:0.9.2342.19200300.100.1.3

使用者名稱

urn:oid:0.9.2342.19200300.100.1.1

在 IdP 中設定 Weblate SP 時,建議選擇永久性的 Name ID format

提示

部分身分提供者(例如搭配多重要素驗證的 Microsoft Entra ID)要求在 SAML 安全性設定中停用預設的 requestedAuthnContext

SOCIAL_AUTH_SAML_SECURITY_CONFIG = {"requestedAuthnContext": False}

若使用 Docker,請改為設定 WEBLATE_SAML_SECURITY_CONFIG

提示

上方範例及 Docker 映像定義了名為 weblate 的 IdP。您可能需要在 IdP 中將這個字串設定為 Relay

備註

Weblate 身分驗證依賴透過身分驗證過程傳遞 RelayState 引數。這需要對一些身分服務提供者進行設定:

LDAP 身分驗證

LDAP 身分驗證可以使用 django-auth-ldap 套件而最好地達成。可以使用通常的方式安裝:

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

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

提示

此包包含於 Docker 容器中,見 使用 Docker 安裝

備註

在 Python LDAP 3.1.0 模組中有一些不相容,導致可能無法使用那個版本。如果得到錯誤資訊 AttributeError: 'module' object has no attribute '_trace_level',將 python-ldap 降回到 3.0.0 版可能會有幫助。

一旦安裝了套件,就可以將其鉤入 Django 身分驗證了:

# 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",
}
# Optional: route "Forgot your password?" to your LDAP self-service page
PASSWORD_RESET_URL = "https://id.example.net/password-reset/"


# Hide the registration form
REGISTRATION_OPEN = False

備註

您應從 AUTHENTICATION_BACKENDS 設定移除 'social_core.backends.email.EmailAuth',否則使用者仍能在 Weblate 中設定密碼,並以該密碼進行身分驗證。仍須保留 'weblate.accounts.auth.WeblateUserBackend',才能建立權限並支援匿名使用者。如果您已建立本機管理員帳號(例如使用 createadmin),這個後端也能讓您使用該帳號登入。

使用繫結密碼

如果無法使用直接繫結進行身分驗證,就必須使用搜尋,並提供一名用於繫結搜尋的使用者。例如:

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 整合

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

CAS 身分驗證

可以使用諸如 Django CAS NG 之類的軟體套件來達成 CAS 身分驗證。

第一步透過 CAS 揭示了使用者電子郵件欄位。這必須在 CAS 伺服器自身來設定,並需要至少執行 CAS v2,因為 CAS v1 不支援屬性。

第二步更新 Weblate,來使用 CAS 伺服器和屬性。

要安裝 Django CAS NG

uv pip install django-cas-ng

一旦安裝了套件,就可以透過修改 settings.py 檔案將其鉤連到 Django 身分驗證系統:

# 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")

最後,可以使用訊號將電子郵件欄位投射到使用者對像上。為了生效,必須將訊號從 django-cas-ng 套件匯入,並將您的程式碼與這個訊號連線。在設定檔案中這樣做可能產生問題,這樣建議將它放進去:

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()

設定第三方 Django 身分驗證

一般地,任何 Django 身分驗證附加元件應該可以在 Weblate 上工作。只需要按照附加元件的說明,只記住安裝了 Weblate 使用者後臺。

典型的安裝包括,將身分驗證後端新增到 AUTHENTICATION_BACKENDS,並將身分驗證 app (如果有的話)安裝到 INSTALLED_APPS

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

INSTALLED_APPS += (
    # Install authentication app here
)

雙重要素身分驗證

在 5.7 版被加入.

提示

雙重因素身分驗證藉由在登入時要求密碼外的驗證方式,使您的帳號增加了一層額外的安全性。

Weblate 支援下列第二身分驗證因素:

安全金鑰 (WebAuthn)

Passkey 和安全金鑰都受到支援。

Passkey 包含使用者驗證功能,可透過觸控、臉部辨識、裝置密碼或 PIN 碼驗證您的身分。

安全金鑰是只能作為第二身分驗證因素使用的 WebAuthn 憑證,而且只會驗證使用者是否在場。

身分驗證器應用程式 (TOTP)

Aegis、Bitwarden、Google Authenticator、1Password、Authy、Microsoft Authenticator 等身分驗證器應用程式及瀏覽器擴充功能,會產生以時間為基礎的一次性密碼,在登入時依提示作為第二因素驗證您的身分。

復原碼

如果您無法使用裝置且收不到雙重要素驗證碼,可以使用復原碼存取帳號。

請像保管密碼一樣安全保管復原碼。我們建議使用 Bitwarden、1Password、Authy 或 Keeper 等密碼管理工具儲存。

../_images/authentication.webp

每位使用者都可以在 帳號 中設定第二因素。登入時,除了既有的身分驗證方式外,還必須提供第二因素。

可以在專案(請參閱 強制執行的雙重要素身分驗證)或團隊層級強制使用者啟用這項功能。在全站部署中,也可以在預設 使用者 團隊啟用,對所有使用者強制使用雙因素身分驗證;新使用者會透過 自動團隊指派 自動加入這個團隊。

強制雙因素身分驗證的團隊,不會將權限套用於尚未設定雙因素身分驗證的使用者。