Interface SaslAuthenticator
- All Known Implementing Classes:
SimpleSaslAuthenticator
public interface SaslAuthenticator
- Author:
- Darran Lofthouse, Tristan Tarrant
-
Method Summary
Modifier and TypeMethodDescriptiondefault SaslServer
createSaslServer
(String mechanism, List<Principal> principals, String protocol, String serverName, Map<String, String> props) Create a SaslServer, to be used for a single authentication session, for the specified mechanismName.static SaslServer
createSaslServer
(SaslConfiguration configuration, io.netty.channel.Channel channel, String mech, String protocol) static SaslServer
createSaslServer
(SaslAuthenticator sap, SaslConfiguration configuration, io.netty.channel.Channel channel, String mech, String protocol)
-
Method Details
-
createSaslServer
default SaslServer createSaslServer(String mechanism, List<Principal> principals, String protocol, String serverName, Map<String, String> props) throws SaslExceptionCreate 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 negotiatedSubject
whenSaslServer.getNegotiatedProperty(String)
is invoked with theSubjectSaslServer.SUBJECT
property. The default implementation of this method wraps any matchingSaslServerFactory
with aSubjectSaslServer
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, aSaslException
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 theSasl
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
-