Class XOauth2Mechanism

  • All Implemented Interfaces:
    Mechanism

    public class XOauth2Mechanism
    extends AbstractMechanism
    Implements the SASL XOAUTH2 authentication Mechanism . User name and Password values are sent without being encrypted.
    • Field Detail

      • XOAUTH2

        public static final Symbol XOAUTH2
        A singleton instance of the symbolic mechanism name.
    • Constructor Detail

      • XOauth2Mechanism

        public XOauth2Mechanism()
    • Method Detail

      • getName

        public Symbol getName()
        Returns:
        the well known name of this SASL mechanism.
      • isApplicable

        public boolean isApplicable​(SaslCredentialsProvider credentials)
        Description copied from interface: Mechanism
        Allows the Mechanism to determine if it is a valid choice based on the configured credentials at the time of selection.
        Parameters:
        credentials - the login credentials available at the time of mechanism selection.
        Returns:
        true if the mechanism can be used with the provided credentials
      • getInitialResponse

        public ProtonBuffer getInitialResponse​(SaslCredentialsProvider credentials)
                                        throws javax.security.sasl.SaslException
        Description copied from interface: Mechanism
        Create an initial response based on selected mechanism. May be null if there is no initial response.
        Specified by:
        getInitialResponse in interface Mechanism
        Overrides:
        getInitialResponse in class AbstractMechanism
        Parameters:
        credentials - The credentials that are supplied for this SASL negotiation.
        Returns:
        the initial response, or null if there isn't one.
        Throws:
        javax.security.sasl.SaslException - if an error occurs generating the initial response.
      • getChallengeResponse

        public ProtonBuffer getChallengeResponse​(SaslCredentialsProvider credentials,
                                                 ProtonBuffer challenge)
                                          throws javax.security.sasl.SaslException
        Description copied from interface: Mechanism
        Create a response based on a given challenge from the remote peer.
        Specified by:
        getChallengeResponse in interface Mechanism
        Overrides:
        getChallengeResponse in class AbstractMechanism
        Parameters:
        credentials - The credentials that are supplied for this SASL negotiation.
        challenge - The challenge that this Mechanism should response to.
        Returns:
        the response that answers the given challenge.
        Throws:
        javax.security.sasl.SaslException - if an error occurs generating the challenge response.