Package org.apache.bookkeeper.auth
Interface BookieAuthProvider.Factory
-
- All Known Implementing Classes:
BookieAuthZFactory
,SASLBookieAuthProviderFactory
- Enclosing interface:
- BookieAuthProvider
public static interface BookieAuthProvider.Factory
A factory to create the bookie authentication provider.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default void
close()
Release resources.java.lang.String
getPluginName()
Get Auth provider plugin name.void
init(ServerConfiguration conf)
Initialize the factory with the server configuration and protobuf message registry.BookieAuthProvider
newProvider(BookieConnectionPeer connection, AuthCallbacks.GenericCallback<java.lang.Void> completeCb)
Create a new instance of a bookie auth provider.
-
-
-
Method Detail
-
init
void init(ServerConfiguration conf) throws java.io.IOException
Initialize the factory with the server configuration and protobuf message registry. Implementors must add any extension messages which contain the auth payload, so that the server can decode auth messages it receives from the client.- Throws:
java.io.IOException
-
newProvider
BookieAuthProvider newProvider(BookieConnectionPeer connection, AuthCallbacks.GenericCallback<java.lang.Void> completeCb)
Create a new instance of a bookie auth provider. Each connection should get its own instance, as they can hold connection specific state. The completeCb is used to notify the server that the authentication handshake is complete. CompleteCb should be called only once. If the authentication was successful, BKException.Code.OK should be passed as the return code. Otherwise, another error code should be passed. If authentication fails, the server will close the connection.- Parameters:
connection
- an handle to the connectioncompleteCb
- callback to be notified when authentication is complete.
-
getPluginName
java.lang.String getPluginName()
Get Auth provider plugin name. Used as a sanity check to ensure that the bookie and the client. are using the same auth provider.
-
close
default void close()
Release resources.
-
-