tigase.jaxmpp.core.client.xmpp.modules.auth

## Interface SaslMechanism

- All Known Implementing Classes:
    AbstractSaslMechanism, AbstractScram, AnonymousMechanism, ExternalMechanism, PlainMechanism, ScramMechanism, ScramPlusMechanism, ScramSHA256Mechanism, ScramSHA256PlusMechanism, ScramSHA512Mechanism, ScramSHA512PlusMechanism, XOAuth2Mechanism

      public interface SaslMechanism

  Interface for implementing SASL mechanisms.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `FORCE_AUTHZID`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `evaluateChallenge(String input, SessionObject sessionObject)` Evaluating challenge received from server.
    `boolean` | `isAllowedToUse(SessionObject sessionObject)` This method is used to check if mechanism can be used with current session.
    `boolean` | `isComplete(SessionObject sessionObject)` Determines whether the authentication exchange has completed.
    `String` | `name()` Return mechanism name.

- - ### Field Detail

    - #### FORCE_AUTHZID

          static final String FORCE_AUTHZID

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### evaluateChallenge

          String evaluateChallenge(String input,
                                   SessionObject sessionObject)
                            throws ClientSaslException

      Evaluating challenge received from server.
      Parameters:
        `input` - received data
        `sessionObject` - current SessionObject
      Returns:
        calculated response
      Throws:
        `ClientSaslException`

    - #### isAllowedToUse

          boolean isAllowedToUse(SessionObject sessionObject)

      This method is used to check if mechanism can be used with current session. For example if no username and passowrd is stored in sessionObject, then PlainMechanism can't be used.
      Parameters:
        `sessionObject` - current SessionObject
      Returns:
        `true` if mechanism can be used it current XMPP session.

    - #### isComplete

          boolean isComplete(SessionObject sessionObject)

      Determines whether the authentication exchange has completed.
      Parameters:
        `sessionObject` - current SessionObject
      Returns:
        `true` if exchange is complete.

    - #### name

          String name()

      Return mechanism name.
      Returns:
        mechanism name.

Copyright © 2006–2020 Tigase. All rights reserved.