Interface SaslAuthenticator

All Known Implementing Classes:
SimpleSaslAuthenticator

public interface SaslAuthenticator
Author:
Darran Lofthouse, Tristan Tarrant
  • Method Details

    • createSaslServer

      default SaslServer createSaslServer(String mechanism, List<Principal> principals, String protocol, String serverName, Map<String,String> props) throws SaslException
      Create a SaslServer, to be used for a single authentication session, for the specified mechanismName. On completion of the SASL authentication exchange, the SaslServer MUST provide a non-read-only negotiated Subject when SaslServer.getNegotiatedProperty(String) is invoked with the SubjectSaslServer.SUBJECT property. The default implementation of this method wraps any matching SaslServerFactory with a SubjectSaslServer to transparently supply the resolved Subject.
      Parameters:
      mechanism - The non-null IANA-registered name of a SASL mechanism. (e.g. "GSSAPI", "CRAM-MD5").
      principals - Any principals which can be obtained before the authentication (e.g. TLS peer, remote network address). Can be empty.
      protocol - The non-null string name of the protocol for which the authentication is being performed (e.g., "ldap").
      serverName - The fully qualified host name of the server to authenticate to, or null if the server is not bound to any specific host name. If the mechanism does not allow an unbound server, a SaslException will be thrown.
      props - The possibly null set of properties used to select the SASL mechanism and to configure the authentication exchange of the selected mechanism. See the Sasl class for a list of standard properties. Other, possibly mechanism-specific, properties can be included. Properties not relevant to the selected mechanism are ignored, including any map entries with non-String keys.
      Returns:
      an instance of SaslServer (or null if it cannot be created)
      Throws:
      SaslException
    • createSaslServer

      static SaslServer createSaslServer(SaslConfiguration configuration, io.netty.channel.Channel channel, String mech, String protocol) throws Throwable
      Throws:
      Throwable
    • createSaslServer

      static SaslServer createSaslServer(SaslAuthenticator sap, SaslConfiguration configuration, io.netty.channel.Channel channel, String mech, String protocol) throws Throwable
      Throws:
      Throwable