class documentation

Stream initializer that performs SASL authentication.

The supported mechanisms by this initializer are DIGEST-MD5, PLAIN and ANONYMOUS. The ANONYMOUS SASL mechanism is used when the JID, set on the authenticator, does not have a localpart (username), requesting an anonymous session where the username is generated by the server. Otherwise, DIGEST-MD5 and PLAIN are attempted, in that order.

Method onChallenge Parse challenge and send response from the mechanism.
Method onFailure Clean up observers, parse the failure and errback the deferred.
Method onSuccess Clean up observers, reset the XML stream and send a new header.
Method sendAuth Initiate authentication protocol exchange.
Method sendResponse Send response to a challenge.
Method setMechanism Select and setup authentication mechanism.
Method start Start SASL authentication exchange.
Class Variable feature Undocumented
Instance Variable mechanism Undocumented
Instance Variable _deferred Undocumented

Inherited from BaseFeatureInitiatingInitializer:

Method __init__ Undocumented
Method initialize Initiate the initialization.
Instance Variable required whether the stream feature is required to be advertized by the receiving entity.
Instance Variable xmlstream The associated XML stream
def onChallenge(self, element): (source)

Parse challenge and send response from the mechanism.

Parameters
element:domish.Element.the challenge protocol element.
def onFailure(self, failure): (source)

Clean up observers, parse the failure and errback the deferred.

Parameters
failure:domish.Elementthe failure protocol element. Holds details on the error condition.
def onSuccess(self, success): (source)

Clean up observers, reset the XML stream and send a new header.

Parameters
success:domish.Elementthe success protocol element. For now unused, but could hold additional data.
def sendAuth(self, data=None): (source)

Initiate authentication protocol exchange.

If an initial client response is given in data, it will be sent along.

Parameters
data:str or None.initial client response.
def sendResponse(self, data=b''): (source)

Send response to a challenge.

Parameters
data:bytes.client response.
def setMechanism(self): (source)

Select and setup authentication mechanism.

Uses the authenticator's jid and password attribute for the authentication credentials. If no supported SASL mechanisms are advertized by the receiving party, a failing deferred is returned with a SASLNoAcceptableMechanism exception.

mechanism = (source)

Undocumented

_deferred = (source)

Undocumented