Converse converse.js

Class: SASLMechanism

SASLMechanism()

Class: Strophe.SASLMechanism

Encapsulates an SASL authentication mechanism.

User code may override the priority for each mechanism or disable it completely. See for information about changing priority and for informatian on how to disable a mechanism.

By default, all mechanisms are enabled and the priorities are

 SCRAM-SHA-512 - 72
 SCRAM-SHA-384 - 71
 SCRAM-SHA-256 - 70
 SCRAM-SHA-1   - 60
 PLAIN         - 50
 OAUTHBEARER   - 40
 X-OAUTH2      - 30
 ANONYMOUS     - 20
 EXTERNAL      - 10

See: Strophe.Connection.addSupportedSASLMechanisms

Constructor

new SASLMechanism()

PrivateConstructor: Strophe.SASLMechanism SASL auth mechanism abstraction.

Parameters: (String) name - SASL Mechanism name. (Boolean) isClientFirst - If client should send response first without challenge. (Number) priority - Priority.

Returns: A new Strophe.SASLMechanism object.

Source:

Members

isClientFirst

PrivateVariable: isClientFirst If client sends response without initial server challenge.

Source:

mechname

PrivateVariable: mechname Mechanism name.

Source:

priority

Variable: priority Determines which is chosen for authentication (Higher is better). Users may override this to prioritize mechanisms differently.

Example: (This will cause Strophe to choose the mechanism that the server sent first)

Strophe.SASLPlain.priority = Strophe.SASLSHA1.priority;

See for a list of available mechanisms.

Source:

Methods

clientChallenge()

PrivateFunction: clientChallenge Called by the protocol implementation if the client is expected to send data first in the authentication exchange (i.e. isClientFirst === true).

Parameters: (Strophe.Connection) connection - Target Connection.

Returns: (String) Mechanism response.

Source:

onChallenge()

PrivateFunction: onChallenge Called by protocol implementation on incoming challenge.

By deafult, if the client is expected to send data first (isClientFirst === true), this method is called with challenge as null on the first call, unless clientChallenge is overridden in the relevant subclass.

Parameters: (Strophe.Connection) connection - Target Connection. (String) challenge - current challenge to handle.

Returns: (String) Mechanism response.

Source:

onFailure()

PrivateFunction: onFailure Protocol informs mechanism implementation about SASL failure.

Source:

onStart()

PrivateFunction: onStart Called before starting mechanism on some connection.

Parameters: (Strophe.Connection) connection - Target Connection.

Source:

onSuccess()

PrivateFunction: onSuccess Protocol informs mechanism implementation about SASL success.

Source:

test()

Function: test Checks if mechanism able to run. To disable a mechanism, make this return false;

To disable plain authentication run

Strophe.SASLPlain.test = function() { return false; }

See for a list of available mechanisms.

Parameters: (Strophe.Connection) connection - Target Connection.

Returns: (Boolean) If mechanism was able to run.

Source: