Package pyxmpp2 :: Package sasl :: Module core :: Class ClientAuthenticator
[hide private]

Class ClientAuthenticator


Base class for client authenticators.

A client authenticator class is a client-side implementation of a SASL mechanism. One ClientAuthenticator object may be used for one client authentication process.

Nested Classes [hide private]
  __metaclass__
Metaclass for defining Abstract Base Classes (ABCs).
Instance Methods [hide private]
 
__init__(self)
Initialize a ClientAuthenticator object.
 
start(self, properties)
Start the authentication process.
Response or Failure
challenge(self, challenge)
Process the server's challenge.
Success or Failure
finish(self, data)
Handle authentication succes information from the server.

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Methods [hide private]
 
are_properties_sufficient(cls, properties)
Check if the provided properties are sufficient for this authentication mechanism.
Class Variables [hide private]
  __abstractmethods__ = frozenset(['challenge', 'finish', 'start'])
  _abc_cache = <_weakrefset.WeakSet object at 0x9d2c68c>
  _abc_negative_cache = <_weakrefset.WeakSet object at 0x9d2c6cc>
  _abc_negative_cache_version = 10
  _abc_registry = <_weakrefset.WeakSet object at 0x9d2c62c>
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self)
(Constructor)

 
Initialize a ClientAuthenticator object.
Overrides: object.__init__

are_properties_sufficient(cls, properties)
Class Method

 
Check if the provided properties are sufficient for
this authentication mechanism.

If `are_properties_sufficient` returns False for given `properties`
mapping, the `start` method of `cls` instance will also fail with
such argument.

:Parameters:
    - `properties`: the `authentication properties`_
:Types:
    - `properties`: mapping

:Return: if the mechanism can be used with those properties

Decorators:
  • @abstractclassmethod

start(self, properties)

 
Start the authentication process.

:Parameters:
    - `properties`: the `authentication properties`_
:Types:
    - `properties`: mapping

:return: the initial response to send to the server or a failuer
    indicator.
:returntype: `Response` or `Failure`

Decorators:
  • @abstractmethod

challenge(self, challenge)

 
Process the server's challenge.
Parameters:
  • challenge (bytes) - the challenge.
Returns: Response or Failure
the response or a failure indicator.
Decorators:
  • @abstractmethod

finish(self, data)

 
Handle authentication succes information from the server.
Parameters:
  • data (bytes) - the optional additional data returned with the success.
Returns: Success or Failure
success or failure indicator.
Decorators:
  • @abstractmethod