reviewboard.accounts.backends.http_digest¶
HTTP Digest authentication backend.
- class HTTPDigestBackend[source]¶
Bases:
BaseAuthBackend
Authenticate against a user in a digest password file.
This is controlled by the following Django settings:
DIGEST_FILE_LOCATION
:The local file path on the server containing an HTTP password (
htpasswd
) file.This is
auth_digest_file_location
in the site configuration.
DIGEST_REALM
:The HTTP realm users will be authenticated into.
This is
auth_digest_realm
in the site configuration.
- name: Optional[StrOrPromise] = 'HTTP Digest Authentication'[source]¶
The display name for the authentication backend.
This will be shown in the list of backends in the administration UI.
- Type:
- settings_form[source]¶
alias of
HTTPBasicSettingsForm
- login_instructions: Optional[StrOrPromise] = 'Use your standard username and password.'[source]¶
Authentication instructions to display above the Login form.
- Type:
- authenticate(request: Optional[HttpRequest] = None, *, username: Optional[str] = None, password: Optional[str] = None, **kwargs) Optional[User] [source]¶
Authenticate a user against the HTTP password file.
This will attempt to authenticate the user against the digest password file. If the username and password are valid, a user will be returned, and added to the database if it doesn’t already exist.
Changed in version 6.0:
request
is now optional.username
andpassword
are technically optional, to aid in consistency for type hints, but will result in aNone
result.
Changed in version 4.0: The
request
argument is now mandatory as the first positional argument, as per requirements in Django.- Parameters:
request (
django.http.HttpRequest
) – The HTTP request from the caller. This may beNone
.username (
str
) – The username to authenticate.password (
str
) – The user’s password.**kwargs (
dict
, unused) – Additional keyword arguments passed by the caller.
- Returns:
The authenticated user, or
None
if the user could not be authenticated for any reason.- Return type:
- get_or_create_user(username: str, request: Optional[HttpRequest] = None) Optional[User] [source]¶
Return an existing user or create one if it doesn’t exist.
This does not authenticate the user.
If the user does not exist in the database, but does in the HTTP password file, its information will be stored in the database for later lookup.
- Parameters:
username (
str
) – The name of the user to look up or create.request (
django.http.HttpRequest
, unused) – The HTTP request from the client. This is unused.
- Returns:
The resulting user, or
None
if one could not be found.- Return type:
- __annotations__ = {'INVALID_USERNAME_CHAR_REGEX': 're.Pattern', 'backend_id': 'Optional[str]', 'login_instructions': 'Optional[StrOrPromise]', 'name': 'Optional[StrOrPromise]', 'settings_form': 'Optional[Type[SiteSettingsForm]]', 'supports_change_email': 'bool', 'supports_change_name': 'bool', 'supports_change_password': 'bool', 'supports_registration': 'bool'}¶