reviewboard.accounts.backends.x509¶
X.509 authentication backend.
- class X509Backend[source]¶
Bases:
reviewboard.accounts.backends.base.BaseAuthBackend
Authenticate a user from a X.509 client certificate.
The certificate is passed in by the browser. This backend relies on the X509AuthMiddleware to extract a username field from the client certificate.
- name = 'X.509 Public Key'[source]¶
The display name for the authentication backend.
This will be shown in the list of backends in the administration UI.
- supports_change_password = True[source]¶
Whether this backend supports changing the user’s password.
- authenticate(request, x509_field='', **kwargs)[source]¶
Authenticate the user.
This will extract the username from the provided certificate and return the appropriate User object.
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
.x509_field (
unicode
, optional) – The value of the field containing the username.**kwargs (
dict
, unused) – Additional keyword arguments supplied by the caller.
- Returns
The authenticated user, or
None
if the user could not be authenticated for any reason.- Return type
- clean_username(username)[source]¶
Validate the ‘username’ field.
This checks to make sure that the contents of the username field are valid for X509 authentication.
- get_or_create_user(username, request)[source]¶
Get an existing user, or create one if it does not exist.
- __annotations__ = {}¶