Package org.firebirdsql.gds.ng.wire.auth
Interface AuthenticationPlugin
-
public interface AuthenticationPluginPlugin for Firebird authentication.- Since:
- 3.0
- Author:
- Mark Rotteveel
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classAuthenticationPlugin.AuthStatusStatus of authentication.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description AuthenticationPlugin.AuthStatusauthenticate(ClientAuthBlock clientAuthBlock)Authenticate using the plugin.booleangeneratesSessionKey()byte[]getClientData()java.lang.StringgetName()byte[]getSessionKey()Session key for encryption.booleanhasServerData()voidsetServerData(byte[] serverData)Sets data received from the server.
-
-
-
Method Detail
-
getName
java.lang.String getName()
- Returns:
- Name of the plugin as used by Firebird
-
authenticate
AuthenticationPlugin.AuthStatus authenticate(ClientAuthBlock clientAuthBlock) throws java.sql.SQLException
Authenticate using the plugin.The data generated by this method should be stored and available for calls from
getClientData().The method authenticate may be called multiple times depending on the state of the authentication (as indicated by the returned
AuthenticationPlugin.AuthStatus.- Parameters:
clientAuthBlock- Client authentication block.- Returns:
- Status of the authentication
- Throws:
java.sql.SQLException- For authentication failures
-
getClientData
byte[] getClientData()
- Returns:
- The data generated by a call to
authenticate(ClientAuthBlock).
-
setServerData
void setServerData(byte[] serverData)
Sets data received from the server.- Parameters:
serverData- Server data
-
hasServerData
boolean hasServerData()
- Returns:
trueif plugin has non-null and non-empty server data
-
generatesSessionKey
boolean generatesSessionKey()
- Returns:
trueif the plugin generates a session key
-
getSessionKey
byte[] getSessionKey() throws java.sql.SQLExceptionSession key for encryption.- Returns:
- Session key
- Throws:
java.sql.SQLException- If there is currently no session key or the authentication plugin doesn't support session key generation.
-
-