Package pyxmpp :: Package sasl :: Module digest_md5 :: Class DigestMD5ClientAuthenticator
[hide private]

Class DigestMD5ClientAuthenticator

source code

core.ClientAuthenticator --+
                           |
                          DigestMD5ClientAuthenticator

Provides PLAIN SASL authentication for a client.
Instance Methods [hide private]
 
__init__(self, password_manager)
Initialize a DigestMD5ClientAuthenticator object.
source code
sasl.Response or sasl.Failure
start(self, username, authzid)
Start the authentication process initializing client state.
source code
sasl.Response or sasl.Failure
challenge(self, challenge)
Process a challenge and return the response.
source code
 
_get_password(self)
Retrieve user's password from the password manager.
source code
sasl.Response or sasl.Failure
_make_response(self, charset, realms, nonce)
Make a response for the first challenge from the server.
source code
str or Failure
_get_realm(self, realms, charset)
Choose a realm from the list specified by the server.
source code
sasl.Response or sasl.Failure
_final_challenge(self, challenge)
Process the second challenge from the server and return the response.
source code
sasl.Success or sasl.Failure
finish(self, data)
Process success indicator from the server.
source code
Instance Variables [hide private]
  password
: current authentication password
  pformat
: current authentication password format
  realm
: current authentication realm
Method Details [hide private]

__init__(self, password_manager)
(Constructor)

source code 
Initialize a DigestMD5ClientAuthenticator object.
Parameters:
  • password_manager (: PasswordManager) - : name of the password manager object providing authentication credentials.
Overrides: core.ClientAuthenticator.__init__

start(self, username, authzid)

source code 
Start the authentication process initializing client state.
Parameters:
  • username (: unicode) - : username (authentication id).
  • authzid (: unicode) - : authorization id.
Returns: sasl.Response or sasl.Failure
the (empty) initial response
Overrides: core.ClientAuthenticator.start

challenge(self, challenge)

source code 
Process a challenge and return the response.
Parameters:
  • challenge (: str) - : the challenge from server.
Returns: sasl.Response or sasl.Failure
the response or a failure indicator.
Overrides: core.ClientAuthenticator.challenge

_get_password(self)

source code 

Retrieve user's password from the password manager.

Set self.password to the password and self.pformat to its format name ('plain' or 'md5:user:realm:pass').

_make_response(self, charset, realms, nonce)

source code 
Make a response for the first challenge from the server.
Parameters:
  • charset (: str) - : charset name from the challenge.
  • realms (: str) - : realms list from the challenge.
  • nonce (: str) - : nonce value from the challenge.
Returns: sasl.Response or sasl.Failure
the response or a failure indicator.

_get_realm(self, realms, charset)

source code 
Choose a realm from the list specified by the server.
Parameters:
  • realms (: list of str) - : the realm list.
  • charset (: str) - : encoding of realms on the list.
Returns: str or Failure
the realm chosen or a failure indicator.

_final_challenge(self, challenge)

source code 
Process the second challenge from the server and return the response.
Parameters:
  • challenge (: str) - : the challenge from server.
Returns: sasl.Response or sasl.Failure
the response or a failure indicator.

finish(self, data)

source code 

Process success indicator from the server.

Process any addiitional data passed with the success. Fail if the server was not authenticated.

Parameters:
  • data (: str) - : an optional additional data with success.
Returns: sasl.Success or sasl.Failure
success or failure indicator.
Overrides: core.ClientAuthenticator.finish