Class WorkerTokenAuthorizer
- java.lang.Object
-
- org.apache.storm.security.auth.workertoken.WorkerTokenAuthorizer
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,PasswordProvider
public class WorkerTokenAuthorizer extends Object implements PasswordProvider, Closeable
Allow for SASL authentication using worker tokens.
-
-
Constructor Summary
Constructors Constructor Description WorkerTokenAuthorizer(Map<String,Object> conf, ThriftConnectionType connectionType)
Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
static com.codahale.metrics.Meter
getPasswordFailuresMeter()
Optional<char[]>
getPasswordFor(String userName)
Get an optional password for a user.String
userName(String userName)
Convert the supplied user name to the actual user name that should be used in the system.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.storm.security.auth.sasl.PasswordProvider
isImpersonationAllowed
-
-
-
-
Constructor Detail
-
WorkerTokenAuthorizer
public WorkerTokenAuthorizer(Map<String,Object> conf, ThriftConnectionType connectionType)
Constructor.- Parameters:
conf
- the daemon config for the server.connectionType
- the type of connection we are authorizing.
-
-
Method Detail
-
getPasswordFor
public Optional<char[]> getPasswordFor(String userName)
Description copied from interface:PasswordProvider
Get an optional password for a user. If no password for the user is found the option will be empty and another PasswordProvider would be tried.- Specified by:
getPasswordFor
in interfacePasswordProvider
- Parameters:
userName
- the user this is for.- Returns:
- the password if it is found.
-
getPasswordFailuresMeter
public static com.codahale.metrics.Meter getPasswordFailuresMeter()
-
userName
public String userName(String userName)
Description copied from interface:PasswordProvider
Convert the supplied user name to the actual user name that should be used in the system. This may be called on any name. If it cannot be translated then a null may be returned or an exception thrown. If getPassword returns successfully this should not return null, nor throw an exception for the same user.- Specified by:
userName
in interfacePasswordProvider
- Parameters:
userName
- the SASL negotiated user name.- Returns:
- the user name that storm should use.
-
close
public void close()
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
-