ການຢືນຢັນຕົວຕົນ

ການລົງທະບຽນຜູ້ໃຊ້

ການຕັ້ງຄ່າເລີ່ມຕົ້ນສຳລັບ Weblate ແມ່ນໃຊ້ python-social-auth, ເປັນຟອມໃນເວັບໄຊເພື່ອຈັດການການລົງທະບຽນຂອງຜູ້ໃຊ້ໃໝ່. ຫຼັງຈາກຢືນຢັນອີເມວຂອງພວກເຂົາແລ້ວ ຜູ້ໃຊ້ໃໝ່ສາມາດປະກອບສ່ວນ ຫຼື ຢືນຢັນຕົວຕົນໂດຍໃຊ້ໜຶ່ງໃນບໍລິການຂອງບຸກຄົນທີສາມ.

ທ່ານຍັງສາມາດປິດການລົງທະບຽນຂອງຜູ້ໃຊ້ໃໝ່ໂດຍໃຊ້ REGISTRATION_OPEN.

ຄວາມພະຍາຍາມໃນການຢືນຢັນຕົວຕົນຢູ່ພາຍໃຕ້ ການຈຳກັດອັດຕາ.

ແບັກເອນການຢືນຢັນຕົວຕົນ

Weblate ອີງໃສ່ Django ສຳລັບການຢືນຢັນຕົວຕົນ. ສິ່ງນີ້ລວມເຖິງການຢືນຢັນຕົວຕົນໂດຍໃຊ້ລະຫັດຜ່ານ, ການຢືນຢັນຕົວຕົນຜ່ານໂຊຊຽວ, ແລະ ແບັກເອນການຢືນຢັນຕົວຕົນຂອງບຸກຄົນທີສາມສຳລັບ Django.

ການໃຊ້ການຢືນຢັນຕົວຕົນໃນຕົວຂອງ Django ໝາຍຄວາມວ່າທ່ານສາມາດນຳເຂົ້າຖານຂໍ້ມູນຜູ້ໃຊ້ຂອງໂຄງການທີ່ອີງໃສ່ Django ອື່ນໆ (ເບິ່ງ ການຍ້າຍຈາກ Pootle).

See also

ການຕັ້ງຄ່າການຢັ້ງຢືນຕົວຕົນ ອະທິບາຍວິທີການຕັ້ງຄ່າການຢືນຢັນຕົວຕົນໃນອິເມດ Docker ທາງການ.

Teams from identity providers

Added in version 2026.10.1.

Weblate can synchronize selected teams from external group memberships or application roles during social authentication. The default native and Docker pipelines include synchronization after authentication checks and two-factor authentication. Extraction and assignment are disabled until configured. If you use a custom authentication pipeline, place social_core.pipeline.user.sync_groups after all authentication checks, including weblate.legal.pipeline.tos_confirm when terms acceptance is enabled.

Map external identifiers to lists of existing Weblate team IDs. Find team IDs in the administration interface URL or the teams REST API. Names can repeat across project and workspace scopes, so they are not used as mapping targets.

For Microsoft Entra ID, prefer application roles:

SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_GROUPS_KEY = "roles"
SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_GROUPS_MAP = {
    "Weblate.Translator": [42],
    "Weblate.Reviewer": [43],
}

Configure the provider to issue these roles. Group identifiers can instead be selected with GROUPS_KEY = "groups". Group overage causes authentication to fail; Weblate does not retrieve memberships from Microsoft Graph. Restrict the trusted tenant and issuer before granting permissions, especially when using a common Azure endpoint.

For generic OpenID Connect or Keycloak, configure a literal claim name:

SOCIAL_AUTH_OIDC_GROUPS_KEY = "groups"
SOCIAL_AUTH_OIDC_GROUPS_MAP = {"translators": [42]}

SOCIAL_AUTH_KEYCLOAK_GROUPS_KEY = "groups"
SOCIAL_AUTH_KEYCLOAK_GROUPS_MAP = {"/organization/reviewers": [43]}

For GitLab, explicitly enable membership retrieval:

SOCIAL_AUTH_GITLAB_GROUPS_ENABLED = True
SOCIAL_AUTH_GITLAB_GROUPS_MAP = {"organization/translators": [42]}

Enabling retrieval automatically requests read_api unless read_api or api is already requested. Enable the corresponding permission in the GitLab OAuth application settings alongside read_user.

GitLab uses full group paths by default. Use stable numeric group IDs instead when paths might change or be reused:

SOCIAL_AUTH_GITLAB_GROUPS_IDENTIFIER = "id"
SOCIAL_AUTH_GITLAB_GROUPS_MAP = {"12345": [42]}

For SAML, add the group attribute and mapping to each existing entry in SOCIAL_AUTH_SAML_ENABLED_IDPS:

SOCIAL_AUTH_SAML_ENABLED_IDPS["company"].update(
    {
        "attr_groups": "https://example.com/claims/groups",
        "groups_map": {"translators": [42]},
        "allow_groups": ["translators", "reviewers"],
    }
)

All targets in a mapping become provider-managed teams. Authentication adds desired memberships and removes obsolete managed memberships. Unrelated teams and existing membership language restrictions are preserved. Changes are recorded in the audit log. Manual membership in a managed team is subject to replacement at the next authentication. A team may be managed by only one configured provider or SAML IdP; conflicting mappings and nonexistent teams cause errors before memberships change. No teams are created automatically.

A missing configured claim fails authentication. When a provider omits claims for users without assignments, explicitly enable its SOCIAL_AUTH_<BACKEND>_GROUPS_MISSING_AS_EMPTY setting. SAML uses groups_missing_as_empty in the IdP entry. An empty membership list removes all provider-managed memberships. An empty GROUPS_MAP disables assignment.

Login restrictions are independent of assignment. Configure SOCIAL_AUTH_<BACKEND>_ALLOW_GROUPS to require membership in any listed external group or role. Unknown identifiers grant nothing, but do not reject login unless an allow list is configured. Existing CAS allow lists require no new settings or pipeline entries.

Synchronization applies to login, registration, and authentication-method linking. Password reset and account removal do not synchronize teams. Updates occur only during authentication; this does not deactivate accounts or revoke access in the background. Synchronization does not store external membership snapshots.

In Docker installations, use ການຕັ້ງຄ່ານອກເໜືອຈາກຕົວແປສະພາບແວດລ້ອມ to supply these Python settings; there are no dedicated environment variables for team mappings.

See also

External groups

ການຢືນຢັນຕົວຕົນຜ່ານໂຊຊຽວ

ຂອບໃຈ Welcome to Python Social Auth’s documentation!, Weblate ສະໜັບສະໜູນການຢືນຢັນຕົວຕົນໂດຍໃຊ້ບໍລິການຂອງບຸກຄົນທີສາມຫຼາຍຢ່າງ ເຊັ່ນ GitLab, Ubuntu, Fedora, ແລະ ອື່ນໆ.

ກະລຸນາກວດສອບເອກະສານຂອງພວກເຂົາສຳລັບຄຳແນະນຳການຕັ້ງຄ່າທົ່ວໄປໃນ Django Framework.

Note

ໂດຍຄ່າເລີ່ມຕົ້ນ, Weblate ອີງໃສ່ບໍລິການຢືນຢັນຕົວຕົນຂອງບຸກຄົນທີສາມເພື່ອໃຫ້ທີ່ຢູ່ອີເມວທີ່ຜ່ານການຢືນຢັນແລ້ວ. ຫາກບາງບໍລິການທີ່ທ່ານຕ້ອງການໃຊ້ບໍ່ສະໜັບສະໜູນສິ່ງນີ້, ກະລຸນາບັງຄັບການຢືນຢັນອີເມວໃນຝ່າຍ Weblate ໂດຍການຕັ້ງຄ່າ FORCE_EMAIL_VALIDATION ສຳລັບພວກເຂົາ. ຕົວຢ່າງ:

SOCIAL_AUTH_OPENSUSE_FORCE_EMAIL_VALIDATION = True

See also

Pipeline

Provider names are normalized by Python Social Auth's social_names pipeline step before Weblate initializes an empty full name. Existing full names are preserved. Weblate cleans and limits the resulting name and falls back to the username when the provider name is missing or invalid.

SOCIAL_AUTH_FIRSTLAST_FROM_FULL and SOCIAL_AUTH_FULL_FROM_FIRSTLAST control name conversion and both default to True. Backend-specific settings are supported, for example SOCIAL_AUTH_SAML_FULL_FROM_FIRSTLAST = False. See Name normalization for the conversion rules. Custom SOCIAL_AUTH_PIPELINE configurations should include social_core.pipeline.social_auth.social_names after social_details.

ການເປີດໃຊ້ແບັກເອນແຕ່ລະຢ່າງແມ່ນງ່າຍຫຼາຍ, ມັນເປັນພຽງການເພີ່ມລາຍການເຂົ້າໃນການຕັ້ງຄ່າ AUTHENTICATION_BACKENDS ແລະ ອາດຈະເປັນການເພີ່ມຄີທີ່ຈຳເປັນສຳລັບວິທີການຢືນຢັນຕົວຕົນທີ່ກຳນົດໄວ້. ກະລຸນາສັງເກດວ່າບາງແບັກເອນບໍ່ໄດ້ໃຫ້ອີເມວຜູ້ໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນ, ທ່ານຕ້ອງຮ້ອງຂໍຢ່າງຊັດເຈນ, ຖ້າບໍ່ດັ່ງນັ້ນ Weblate ຈະບໍ່ສາມາດໃຫ້ເຄຣດິດການປະກອບສ່ວນທີ່ຜູ້ໃຊ້ເຮັດໄດ້ຢ່າງຖືກຕ້ອງ.

Hint

ແບັກເອນການຢືນຢັນຕົວຕົນສ່ວນໃຫຍ່ຕ້ອງການ HTTPS. ເມື່ອ HTTPS ຖືກເປີດໃຊ້ງານໃນເວັບເຊີບເວີຂອງທ່ານແລ້ວ, ກະລຸນາຕັ້ງຄ່າ Weblate ໃຫ້ລາຍງານມັນຢ່າງຖືກຕ້ອງໂດຍໃຊ້ ENABLE_HTTPS, ຫຼື ໂດຍ WEBLATE_ENABLE_HTTPS ໃນຄອນເທນເນີ Docker.

Authentication storage cleanup

Weblate removes expired OpenID protocol associations and OpenID Connect login nonces in its hourly authentication cleanup task. OIDC login attempts have a 30-minute nonce lifetime by default; expiry is enforced during login even before the next cleanup runs. Linked accounts are preserved. Verification codes and partial pipelines retain their existing AUTH_TOKEN_VALID policy.

The social-auth database migration gives existing undated OIDC nonces a 30-minute grace period from upgrade. Follow the usual upgrade procedure with old login-serving processes stopped while applying migrations. For backend configuration, see OIDC (OpenID Connect).

ການຢືນຢັນຕົວຕົນ OpenID

ສຳລັບບໍລິການທີ່ອີງໃສ່ OpenID ມັນມັກຈະເປັນພຽງການເປີດໃຊ້ງານພວກມັນ. ພາກສ່ວນຕໍ່ໄປນີ້ເປີດໃຊ້ການຢືນຢັນຕົວຕົນ OpenID ສຳລັບ OpenSUSE, Fedora ແລະ 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",
)

See also

OpenID

ການຢືນຢັນຕົວຕົນ GitHub

ທ່ານຕ້ອງລົງທະບຽນແອັບພລິເຄຊັນ OAuth ໃນ GitHub ແລະ ບອກ 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 ຄວນຖືກຕັ້ງຄ່າໃຫ້ມີ callback 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_NAME ຫຼື SOCIAL_AUTH_GITHUB_TEAM_ID. callback URL ຂອງພວກມັນຄື https://WEBLATE SERVER/accounts/complete/github-org/ ແລະ https://WEBLATE SERVER/accounts/complete/github-teams/.

Note

URL ສົ່ງກັບ (callback URL) ທີ່ Weblate ໃຫ້ມາໃນລະຫວ່າງການຢືນຢັນຕົວຕົນນັ້ນ ລວມມີໂດເມນທີ່ຕັ້ງຄ່າໄວ້. ໃນກໍລະນີທີ່ທ່ານພົບຂໍ້ຜິດພາດກ່ຽວກັບ URL ບໍ່ກົງກັນ, ທ່ານອາດຈະຕ້ອງແກ້ໄຂສິ່ງນີ້, ເບິ່ງ ຕັ້ງຄ່າໂດເມນຂອງເວັບໄຊໃຫ້ຖືກຕ້ອງ.

See also

GitHub

ການຢືນຢັນຕົວຕົນ GitHub EE

ທ່ານຕ້ອງລົງທະບຽນ OAuth App ໃນ GitHub EE ແລະ ບອກ 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 ຄວນຖືກຕັ້ງຄ່າໃຫ້ມີ callback URL ເປັນ https://WEBLATE SERVER/accounts/complete/github-enterprise/.

ແທນທີ່ຈະເປັນ GitHub OAuth App, GitHub App ສາມາດຖືກໃຊ້ໄດ້ເຊັ່ນກັນ. ດ້ວຍ GitHub App ສາມາດໃຫ້ສິດໃນບ່ອນເກັບຂໍ້ມູນ, ອົງການຈັດຕັ້ງ ແລະ/ຫຼື ລະດັບຜູ້ໃຊ້. ຫາກທ່ານຕັດສິນໃຈໃຊ້ GitHub App, ທ່ານຕ້ອງເປີດໃຊ້ສິດ ການເຂົ້າເຖິງ: ອ່ານຢ່າງດຽວ ສຳລັບຜູ້ໃຊ້ - <ທີ່ຢູ່ອີເມວ> ແລະ ອົງການຈັດຕັ້ງ - <ສະມາຊິກ>.

Note

URL ສົ່ງກັບ (callback URL) ທີ່ Weblate ໃຫ້ມາໃນລະຫວ່າງການຢືນຢັນຕົວຕົນນັ້ນ ລວມມີໂດເມນທີ່ຕັ້ງຄ່າໄວ້. ໃນກໍລະນີທີ່ທ່ານພົບຂໍ້ຜິດພາດກ່ຽວກັບ URL ບໍ່ກົງກັນ, ທ່ານອາດຈະຕ້ອງແກ້ໄຂສິ່ງນີ້, ເບິ່ງ ຕັ້ງຄ່າໂດເມນຂອງເວັບໄຊໃຫ້ຖືກຕ້ອງ.

See also

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

Note

URL ສົ່ງກັບ (callback URL) ທີ່ Weblate ໃຫ້ມາໃນລະຫວ່າງການຢືນຢັນຕົວຕົນນັ້ນ ລວມມີໂດເມນທີ່ຕັ້ງຄ່າໄວ້. ໃນກໍລະນີທີ່ທ່ານພົບຂໍ້ຜິດພາດກ່ຽວກັບ URL ບໍ່ກົງກັນ, ທ່ານອາດຈະຕ້ອງແກ້ໄຂສິ່ງນີ້, ເບິ່ງ ຕັ້ງຄ່າໂດເມນຂອງເວັບໄຊໃຫ້ຖືກຕ້ອງ.

See also

Bitbucket

Google OAuth 2

ເພື່ອໃຊ້ Google OAuth 2, ທ່ານຕ້ອງລົງທະບຽນແອັບພລິເຄຊັນ OAuth ທີ່ <https://console.developers.google.com/>.

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"

Note

URL ສົ່ງກັບ (callback URL) ທີ່ Weblate ໃຫ້ມາໃນລະຫວ່າງການຢືນຢັນຕົວຕົນນັ້ນ ລວມມີໂດເມນທີ່ຕັ້ງຄ່າໄວ້. ໃນກໍລະນີທີ່ທ່ານພົບຂໍ້ຜິດພາດກ່ຽວກັບ URL ບໍ່ກົງກັນ, ທ່ານອາດຈະຕ້ອງແກ້ໄຂສິ່ງນີ້, ເບິ່ງ ຕັ້ງຄ່າໂດເມນຂອງເວັບໄຊໃຫ້ຖືກຕ້ອງ.

See also

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"]

Note

URL ສົ່ງກັບ (callback URL) ທີ່ Weblate ໃຫ້ມາໃນລະຫວ່າງການຢືນຢັນຕົວຕົນນັ້ນ ລວມມີໂດເມນທີ່ຕັ້ງຄ່າໄວ້. ໃນກໍລະນີທີ່ທ່ານພົບຂໍ້ຜິດພາດກ່ຽວກັບ URL ບໍ່ກົງກັນ, ທ່ານອາດຈະຕ້ອງແກ້ໄຂສິ່ງນີ້, ເບິ່ງ ຕັ້ງຄ່າໂດເມນຂອງເວັບໄຊໃຫ້ຖືກຕ້ອງ.

See also

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

Note

URL ສົ່ງກັບ (callback URL) ທີ່ Weblate ໃຫ້ມາໃນລະຫວ່າງການຢືນຢັນຕົວຕົນນັ້ນ ລວມມີໂດເມນທີ່ຕັ້ງຄ່າໄວ້. ໃນກໍລະນີທີ່ທ່ານພົບຂໍ້ຜິດພາດກ່ຽວກັບ URL ບໍ່ກົງກັນ, ທ່ານອາດຈະຕ້ອງແກ້ໄຂສິ່ງນີ້, ເບິ່ງ ຕັ້ງຄ່າໂດເມນຂອງເວັບໄຊໃຫ້ຖືກຕ້ອງ.

See also

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/"

Note

URL ສົ່ງກັບ (callback URL) ທີ່ Weblate ໃຫ້ມາໃນລະຫວ່າງການຢືນຢັນຕົວຕົນນັ້ນ ລວມມີໂດເມນທີ່ຕັ້ງຄ່າໄວ້. ໃນກໍລະນີທີ່ທ່ານພົບຂໍ້ຜິດພາດກ່ຽວກັບ URL ບໍ່ກົງກັນ, ທ່ານອາດຈະຕ້ອງແກ້ໄຂສິ່ງນີ້, ເບິ່ງ ຕັ້ງຄ່າໂດເມນຂອງເວັບໄຊໃຫ້ຖືກຕ້ອງ.

Note

ການຕັ້ງຄ່າຂ້າງເທິງຍັງໃຊ້ງານໄດ້ກັບ Forgejo; ສຳລັບຕົວຢ່າງຂອງການນຳໃຊ້ໃນການຜະລິດກັບ Forgejo, ເບິ່ງ Codeberg Translate.

See also

Gitea

Microsoft Entra ID

Azure Active Directory (Azure AD) ດຽວນີ້ຄື Microsoft Entra ID. Weblate ຮັກສາຊື່ແບັກເອນ azuread-oauth2 ແລະ azuread-tenant-oauth2 ໄວ້ເພື່ອຄວາມເຂົ້າກັນໄດ້ກັບແບັກເອນ Python Social Auth ພື້ນຖານ ແລະ ການນຳໃຊ້ທີ່ມີຢູ່.

Weblate ສາມາດຖືກຕັ້ງຄ່າໃຫ້ໃຊ້ tenants ທົ່ວໄປ ຫຼື ສະເພາະສຳລັບການຢືນຢັນຕົວຕົນ.

URL ການປ່ຽນເສັ້ນທາງຄື https://WEBLATE SERVER/accounts/complete/azuread-oauth2/ ສຳລັບທົ່ວໄປ ແລະ https://WEBLATE SERVER/accounts/complete/azuread-tenant-oauth2/ ສຳລັບການຢືນຢັນຕົວຕົນສະເພາະ tenant.

ທ່ານຈະຕ້ອງການສິ່ງຕໍ່ໄປນີ້:

  • Application (client) ID ມີໃຫ້ໃນພາບລວມການລົງທະບຽນແອັບໃນສູນບໍລິຫານ Microsoft Entra. Object ID ບໍ່ໄດ້ຖືກໃຊ້ໃນ Weblate.

  • Directory (tenant) ID ຈຳເປັນສຳລັບການຢືນຢັນຕົວຕົນໃນຂອບເຂດ tenant, ເຊິ່ງມັກຈະເປັນທີ່ຕ້ອງການ.

  • Secret value ຈະຖືກສະແດງເມື່ອທ່ານສ້າງ client secret ສຳລັບການລົງທະບຽນແອັບ. Secret ID ບໍ່ໄດ້ຖືກໃຊ້ໃນ Weblate.

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

Note

URL ສົ່ງກັບ (callback URL) ທີ່ Weblate ໃຫ້ມາໃນລະຫວ່າງການຢືນຢັນຕົວຕົນນັ້ນ ລວມມີໂດເມນທີ່ຕັ້ງຄ່າໄວ້. ໃນກໍລະນີທີ່ທ່ານພົບຂໍ້ຜິດພາດກ່ຽວກັບ 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 = ""

Note

URL ສົ່ງກັບ (callback URL) ທີ່ Weblate ໃຫ້ມາໃນລະຫວ່າງການຢືນຢັນຕົວຕົນນັ້ນ ລວມມີໂດເມນທີ່ຕັ້ງຄ່າໄວ້. ໃນກໍລະນີທີ່ທ່ານພົບຂໍ້ຜິດພາດກ່ຽວກັບ URL ບໍ່ກົງກັນ, ທ່ານອາດຈະຕ້ອງແກ້ໄຂສິ່ງນີ້, ເບິ່ງ ຕັ້ງຄ່າໂດເມນຂອງເວັບໄຊໃຫ້ຖືກຕ້ອງ.

See also

Slack

ການຂຽນທັບຊື່ວິທີການຢືນຢັນຕົວຕົນ ແລະ ໄອຄອນ

Display names and bundled icons come from python-social-auth backend metadata. Weblate retains translated labels and local icons for its password and e-mail methods, and supplies its own fallback icon for providers without a logo. Add social_django.finders.SocialAuthIconFinder after the standard finders in STATICFILES_FINDERS to collect the provider icons from social-auth-core. The example and Docker settings include this finder. Run weblate collectstatic --noinput after upgrading.

ທ່ານສາມາດຂຽນທັບຊື່ສະແດງ ແລະ ໄອຄອນຂອງວິທີການຢືນຢັນຕົວຕົນໂດຍໃຊ້ການຕັ້ງຄ່າເປັນ SOCIAL_AUTH_<NAME>_IMAGE ແລະ SOCIAL_AUTH_<NAME>_TITLE. ຕົວຢ່າງການຂຽນທັບຊື່ສຳລັບ Auth0 ຈະເປັນແບບນີ້:

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

Relative image names retain the auth/ static directory convention. Existing bundled filenames, such as auth0.svg, also resolve to the shared social_auth/icons/ directory when no local override exists. Full HTTP URLs and data URLs continue to work.

ການປິດການຢືນຢັນຕົວຕົນດ້ວຍລະຫັດຜ່ານ

ການຢືນຢັນຕົວຕົນດ້ວຍອີເມວ ແລະ ລະຫັດຜ່ານສາມາດປິດໄດ້ໂດຍການລຶບ social_core.backends.email.EmailAuth ອອກຈາກ AUTHENTICATION_BACKENDS. ຄວນຮັກສາ weblate.accounts.auth.WeblateUserBackend ໄວ້ສະເໝີ, ມັນຈຳເປັນສຳລັບການເຮັດວຽກຫຼັກຂອງ Weblate.

ການປິດການຢືນຢັນຕົວຕົນດ້ວຍອີເມວຈະປິດການເຮັດວຽກທັງໝົດທີ່ກ່ຽວຂ້ອງກັບອີເມວ - ຄຸນສົມບັດການເຊີນຜູ້ໃຊ້ ຫຼື ການຣີເຊັດລະຫັດຜ່ານ.

Tip

ທ່ານຍັງສາມາດໃຊ້ການຢືນຢັນຕົວຕົນດ້ວຍລະຫັດຜ່ານສຳລັບອິນເຕີເຟດຜູ້ດູແລ, ສຳລັບຜູ້ໃຊ້ທີ່ທ່ານສ້າງດ້ວຍຕົນເອງທີ່ນັ້ນ. ພຽງແຕ່ໄປທີ່ /admin/login/.

ຕົວຢ່າງ, ການຢືນຢັນຕົວຕົນໂດຍໃຊ້ສະເພາະຜູ້ໃຫ້ບໍລິການ Open ID ຂອງ openSUSE ສາມາດເຮັດໄດ້ໂດຍໃຊ້ສິ່ງຕໍ່ໄປນີ້:

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

ການຢືນຢັນຕົວຕົນດ້ວຍລະຫັດຜ່ານ

settings.py ເລີ່ມຕົ້ນມາພ້ອມກັບຊຸດ AUTH_PASSWORD_VALIDATORS ທີ່ສົມເຫດສົມຜົນ ເຊິ່ງຮັບປະກັນວ່າລະຫັດຜ່ານທີ່ອ່ອນແອຈະບໍ່ຖືກອະນຸຍາດ. ທ່ານສາມາດປັບແຕ່ງການຕັ້ງຄ່ານີ້ເພື່ອໃຫ້ກົງກັບນະໂຍບາຍລະຫັດຜ່ານຂອງທ່ານ.

ນອກຈາກນັ້ນ, ທ່ານຍັງສາມາດຕິດຕັ້ງ django-zxcvbn-password-validator ເຊິ່ງໃຫ້ການປະເມີນຄວາມຍາກງ່າຍຂອງລະຫັດຜ່ານທີ່ສົມຈິງຫຼາຍ ແລະ ອະນຸຍາດໃຫ້ປະຕິເສດລະຫັດຜ່ານທີ່ຕ່ຳກວ່າຂີດຈຳກັດໃດໜຶ່ງ.

ການຢືນຢັນຕົວຕົນ SAML

Added in version 4.1.1.

Changed in version 5.12: Dependencies ສຳລັບການຢືນຢັນຕົວຕົນ SAML ບໍ່ໄດ້ລວມຢູ່ໃນ all extras ເລີ່ມຕົ້ນອີກຕໍ່ໄປ. ທ່ານຕ້ອງລວມ saml ໃນຂະນະທີ່ຕິດຕັ້ງແພັກເກັດ Weblate ໂດຍໃຊ້ pip (uv pip install Weblate[all,saml]).

ກະລຸນາປະຕິບັດຕາມຄຳແນະນຳຂອງ Python Social Auth ສຳລັບການຕັ້ງຄ່າ. ຄວາມແຕກຕ່າງທີ່ໜ້າສັງເກດ:

  • Weblate ສະໜັບສະໜູນ IDP ດຽວ ເຊິ່ງຕ້ອງຖືກເອີ້ນວ່າ weblate ໃນ SOCIAL_AUTH_SAML_ENABLED_IDPS.

  • URL ເມຕາດາຕ້າ SAML XML ຄື /accounts/metadata/saml/, ເຊິ່ງເປັນ entity ID ເຊັ່ນກັນ.

  • URL ການລົງຊື່ເຂົ້າໃຊ້ຄື /accounts/complete/saml/ (ຫຼື ຮູ້ຈັກກັນໃນຊື່ ACS URL).

  • ການຕັ້ງຄ່າຕໍ່ໄປນີ້ຖືກຕື່ມໂດຍອັດຕະໂນມັດ: SOCIAL_AUTH_SAML_SP_ENTITY_ID, SOCIAL_AUTH_SAML_TECHNICAL_CONTACT, SOCIAL_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

ການຕັ້ງຄ່າເລີ່ມຕົ້ນສະກັດລາຍລະອຽດຜູ້ໃຊ້ຈາກ attributes ຕໍ່ໄປນີ້, ຕັ້ງຄ່າ IdP ຂອງທ່ານເພື່ອສະໜອງພວກມັນ:

Attribute

ການອ້າງອີງ 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

ເມື່ອຕັ້ງຄ່າ Weblate SP ໃນ IdP ຂອງທ່ານ, ແນະນຳໃຫ້ເລືອກ Name ID format ແບບຖາວອນ.

Hint

ຜູ້ໃຫ້ບໍລິການຢືນຢັນຕົວຕົນບາງຢ່າງ (ເຊັ່ນ Microsoft Entra ID ທີ່ມີການຢືນຢັນຕົວຕົນຫຼາຍປັດໄຈ) ຕ້ອງການໃຫ້ປິດການໃຊ້ງານ requestedAuthnContext ເລີ່ມຕົ້ນໃນການຕັ້ງຄ່າຄວາມປອດໄພ SAML:

SOCIAL_AUTH_SAML_SECURITY_CONFIG = {"requestedAuthnContext": False}

ໃນ Docker, ໃຫ້ຕັ້ງຄ່າ WEBLATE_SAML_SECURITY_CONFIG ແທນ.

Hint

ຕົວຢ່າງຂ້າງເທິງ ແລະ Docker image ກຳນົດ IdP ທີ່ເອີ້ນວ່າ weblate. ທ່ານອາດຕ້ອງຕັ້ງຄ່າສະຕຣິງນີ້ເປັນ Relay ໃນ IdP ຂອງທ່ານ.

Note

ການຢືນຢັນຕົວຕົນຂອງ 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

Hint

ແພັກເກັດນີ້ຖືກລວມຢູ່ໃນຄອນເທນເນີ Docker, ເບິ່ງ ການຕິດຕັ້ງໂດຍໃຊ້ Docker.

Note

ມີຄວາມບໍ່ເຂົ້າກັນບາງຢ່າງໃນໂມດູນ 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

Note

ທ່ານຄວນລຶບ 'social_core.backends.email.EmailAuth' ອອກຈາກການຕັ້ງຄ່າ AUTHENTICATION_BACKENDS, ຖ້າບໍ່ດັ່ງນັ້ນຜູ້ໃຊ້ຈະສາມາດຕັ້ງລະຫັດຜ່ານຂອງພວກເຂົາໃນ Weblate ແລະ ຢືນຢັນຕົວຕົນໂດຍໃຊ້ລະຫັດຜ່ານນັ້ນ. ການຮັກສາ 'weblate.accounts.auth.WeblateUserBackend' ໄວ້ຍັງຈຳເປັນເພື່ອສ້າງສິດທິ ແລະ ອຳນວຍຄວາມສະດວກໃຫ້ຜູ້ໃຊ້ທີ່ບໍ່ເປີດເຜີຍຊື່. ມັນຍັງຈະຊ່ວຍໃຫ້ທ່ານລົງຊື່ເຂົ້າໃຊ້ໂດຍໃຊ້ບັນຊີຜູ້ດູແລລະບົບທ້ອງຖິ່ນ, ຫາກທ່ານໄດ້ສ້າງມັນຂຶ້ນມາ (ເຊັ່ນ: ໂດຍໃຊ້ createadmin).

ການໃຊ້ລະຫັດຜ່ານ bind

ຫາກທ່ານບໍ່ສາມາດໃຊ້ direct bind ສຳລັບການຢືນຢັນຕົວຕົນ, ທ່ານຈະຕ້ອງໃຊ້ການຄົ້ນຫາ, ແລະ ສະໜອງຜູ້ໃຊ້ເພື່ອ bind ສຳລັບການຄົ້ນຫາ. ຕົວຢ່າງ:

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

ການຢືນຢັນຕົວຕົນ CAS ສາມາດເຮັດໄດ້ໂດຍໃຊ້ແພັກເກັດ ເຊັ່ນ Django CAS NG.

ຂັ້ນຕອນທີໜຶ່ງຄືການເປີດເຜີຍຊ່ອງອີເມວຂອງຜູ້ໃຊ້ຜ່ານ CAS. ສິ່ງນີ້ຕ້ອງຖືກຕັ້ງຄ່າໃນເຊີບເວີ CAS ເອງ, ແລະ ຕ້ອງການໃຫ້ທ່ານໃຊ້ຢ່າງໜ້ອຍ CAS v2 ເພາະ CAS v1 ບໍ່ສະໜັບສະໜູນ attributes ເລີຍ.

ຂັ້ນຕອນທີສອງຄືການອັບເດດ Weblate ໃຫ້ໃຊ້ເຊີບເວີ CAS ແລະ attributes ຂອງທ່ານ.

ເພື່ອຕິດຕັ້ງ Django CAS NG:

uv pip install django-cas-ng

ເມື່ອຕິດຕັ້ງແພັກເກດຮຽບຮ້ອຍແລ້ວ, ທ່ານສາມາດເຊື່ອມຕໍ່ມັນເຂົ້າກັບລະບົບການຢືນຢັນຕົວຕົນຂອງ Django ໄດ້ໂດຍການແກ້ໄຂໄຟລ໌ 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")

ສຸດທ້າຍ, ສາມາດໃຊ້ສັນຍານ (signal) ເພື່ອຈັບຄູ່ຊ່ອງອີເມລ໌ກັບວັດຖຸຜູ້ໃຊ້. ເພື່ອໃຫ້ມັນເຮັດວຽກໄດ້, ທ່ານຕ້ອງນຳເຂົ້າສັນຍານຈາກແພັກເກດ django-cas-ng ແລະ ເຊື່ອມຕໍ່ລະຫັດຂອງທ່ານເຂົ້າກັບສັນຍານນີ້. ການເຮັດແບບນີ້ໃນໄຟລ໌ຕັ້ງຄ່າອາດເຮັດໃຫ້ເກີດບັນຫາ, ສະນັ້ນຈຶ່ງແນະນຳໃຫ້ໃສ່ມັນໄວ້ທີ່:

  • ໃນເມທັອດ django.apps.AppConfig.ready() ຂອງການຕັ້ງຄ່າແອັບຂອງທ່ານ

  • ໃນໄຟລ໌ urls.py ຂອງໂປຣເຈັກ (ເມື່ອບໍ່ມີໂມເດວ)

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 ໄດ້. ພຽງແຕ່ປະຕິບັດຕາມຄຳແນະນຳຂອງປລັກອິນນັ້ນ, ແລະຢ່າລືມຮັກສາການຕິດຕັ້ງ back-end ຜູ້ໃຊ້ຂອງ Weblate ໄວ້.

ໂດຍທົ່ວໄປ, ການຕິດຕັ້ງຈະປະກອບດ້ວຍການເພີ່ມ authentication backend ເຂົ້າໄປໃນ AUTHENTICATION_BACKENDS ແລະຕິດຕັ້ງແອັບຢືນຢັນຕົວຕົນ (ຖ້າມີ) ເຂົ້າໄປໃນ INSTALLED_APPS:

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

INSTALLED_APPS += (
    # Install authentication app here
)

ການຢືນຢັນຕົວຕົນສອງຊັ້ນ

Added in version 5.7.

Hint

ການຢືນຢັນຕົວຕົນສອງຊັ້ນຊ່ວຍເພີ່ມຄວາມປອດໄພອີກຊັ້ນໃຫ້ກັບບັນຊີຂອງທ່ານ ໂດຍການຮຽກຮ້ອງຫຼາຍກວ່າລະຫັດຜ່ານເພື່ອເຂົ້າສູ່ລະບົບ.

Weblate ຮອງຮັບປັດໄຈທີສອງຕໍ່ໄປນີ້:

ຄີຄວາມປອດໄພ (WebAuthn)

ຮອງຮັບທັງ Passkeys ແລະກະແຈຄວາມປອດໄພ.

Passkeys ຈະກວດສອບຕົວຕົນຂອງທ່ານໂດຍໃຊ້ການສຳຜັດ, ການຈົດຈຳໃບໜ້າ, ລະຫັດຜ່ານອຸປະກອນ ຫຼື PIN ເນື່ອງຈາກມັນລວມການຢືນຢັນຕົວຕົນຂອງຜູ້ໃຊ້ໄວ້ແລ້ວ.

ກະແຈຄວາມປອດໄພແມ່ນຂໍ້ມູນຢືນຢັນຕົວຕົນແບບ WebAuthn ເຊິ່ງສາມາດໃຊ້ເປັນປັດໄຈຢືນຢັນຕົວຕົນທີສອງໄດ້ເທົ່ານັ້ນ ແລະມັນຈະກວດສອບພຽງແຕ່ການມີຢູ່ຂອງຜູ້ໃຊ້ເທົ່ານັ້ນ.

When signing in on a new computer or in a different browser, your passkey might not be available. Use a device where the passkey is available, or connect your registered security key. A verification error can mean that the request timed out, was canceled, or that the credential is unavailable; it does not identify the exact cause.

You can also select another configured verification method on the sign-in page, such as Use recovery codes. If you cannot use any configured method, contact the site administrator for help.

ແອັບຢືນຢັນຕົວຕົນ (TOTP)

ແອັບຢືນຢັນຕົວຕົນ ແລະສ່ວນຂະຫຍາຍບຣາວເຊີເຊັ່ນ Aegis, Bitwarden, Google Authenticator, 1Password, Authy, Microsoft Authenticator ແລະອື່ນໆ ຈະສ້າງລະຫັດຜ່ານໃຊ້ຄັ້ງດຽວໂດຍອີງຕາມເວລາ ເຊິ່ງໃຊ້ເປັນປັດໄຈທີສອງເພື່ອຢືນຢັນຕົວຕົນຂອງທ່ານເມື່ອຖືກຮຽກຮ້ອງໃນລະຫວ່າງການເຂົ້າສູ່ລະບົບ.

Registration becomes active only after you verify a code from the app. Complete registration within 24 hours; otherwise start again with a new QR code. Each registration can be completed only once. After registering, wait for the next code before using the app to sign in.

Only one registration can be pending per account. Opening registration in another browser session shows the same QR code until registration is completed or expires.

If you have more than one registered authenticator app, select the app you are using when entering its code during sign-in.

ລະຫັດກູ້ຄືນ

ລະຫັດກູ້ຄືນສາມາດໃຊ້ເພື່ອເຂົ້າເຖິງບັນຊີຂອງທ່ານໄດ້ ຫາກທ່ານເສຍການເຂົ້າເຖິງອຸປະກອນ ແລະ ບໍ່ສາມາດຮັບລະຫັດຢືນຢັນຕົວຕົນສອງຊັ້ນໄດ້.

ຮັກສາລະຫັດກູ້ຄືນຂອງທ່ານໃຫ້ປອດໄພເທົ່າກັບລະຫັດຜ່ານຂອງທ່ານ. ພວກເຮົາແນະນຳໃຫ້ບັນທຶກມັນໄວ້ໃນແອັບຈັດການລະຫັດຜ່ານເຊັ່ນ Bitwarden, 1Password, Authy ຫຼື Keeper.

../_images/authentication.webp

ຜູ້ໃຊ້ແຕ່ລະຄົນສາມາດຕັ້ງຄ່ານີ້ໄດ້ໃນ ບັນຊີ ແລະປັດໄຈທີສອງຈະຖືກຮຽກຮ້ອງໃນການເຂົ້າສູ່ລະບົບ ນອກເໜືອໄປຈາກວິທີການຢືນຢັນຕົວຕົນທີ່ມີຢູ່.

ສິ່ງນີ້ສາມາດບັງຄັບໃຊ້ກັບຜູ້ໃຊ້ໃນລະດັບໂປຣເຈັກ (ເບິ່ງ ບັງຄັບໃຊ້ການຢືນຢັນຕົວຕົນແບບສອງຂັ້ນຕອນ) ຫຼືລະດັບທີມ. ໃນການຕິດຕັ້ງແບບທົ່ວເວັບໄຊ, ສິ່ງນີ້ຍັງສາມາດໃຊ້ເພື່ອບັງຄັບການຢືນຢັນຕົວຕົນສອງຊັ້ນສຳລັບຜູ້ໃຊ້ທຸກຄົນໂດຍການເປີດໃຊ້ໃນທີມ Users ເລີ່ມຕົ້ນ ເຊິ່ງຈະຖືກມອບໝາຍໃຫ້ຜູ້ໃຊ້ໃໝ່ໂດຍອັດຕະໂນມັດໂດຍ automatic team assignment.

ສິດທິຂອງທີມທີ່ມີການບັງຄັບໃຊ້ການຢືນຢັນຕົວຕົນສອງຊັ້ນຈະບໍ່ຖືກນຳໃຊ້ກັບຜູ້ໃຊ້ທີ່ບໍ່ໄດ້ຕັ້ງຄ່ານັ້ນ.