AuthDomainDigest

class AuthDomainDigest(**properties: Any)

Superclasses: AuthDomain, Object

Server-side “Digest” authentication.

SoupAuthDomainDigest handles the server side of HTTP “Digest” authentication.

Methods

class AuthDomainDigest
encode_password(username: str, realm: str, password: str) str

Encodes the username/realm/password triplet for Digest authentication.

That is, it returns a stringified MD5 hash of username, realm, and password concatenated together. This is the form that is needed as the return value of SoupAuthDomainDigest’s auth handler.

For security reasons, you should store the encoded hash, rather than storing the cleartext password itself and calling this method only when you need to verify it. This way, if your server is compromised, the attackers will not gain access to cleartext passwords which might also be usable at other sites. (Note also that the encoded password returned by this method is identical to the encoded password stored in an Apache .htdigest file.)

Parameters:
  • username – a username

  • realm – an auth realm name

  • password – the password for username in realm

set_auth_callback(callback: Callable[[...], str | None], *user_data: Any) None

Sets the callback that domain will use to authenticate incoming requests.

For each request containing authorization, domain will invoke the callback, and then either accept or reject the request based on callback’s return value.

You can also set the auth callback by setting the auth_callback and auth_data properties, which can also be used to set the callback at construct time.

Parameters:
  • callback – the callback

  • user_data – data to pass to auth_callback

Properties

class AuthDomainDigest
props.auth_callback: Callable[[...], str | None]

The AuthDomainDigestAuthCallback.

props.auth_data: None

The data to pass to the AuthDomainDigestAuthCallback.