Interface AuthenticationPlugin


  • public interface AuthenticationPlugin
    Plugin for Firebird authentication.
    Since:
    3.0
    Author:
    Mark Rotteveel
    • 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
      • setServerData

        void setServerData​(byte[] serverData)
        Sets data received from the server.
        Parameters:
        serverData - Server data
      • hasServerData

        boolean hasServerData()
        Returns:
        true if plugin has non-null and non-empty server data
      • generatesSessionKey

        boolean generatesSessionKey()
        Returns:
        true if the plugin generates a session key
      • getSessionKey

        byte[] getSessionKey()
                      throws java.sql.SQLException
        Session 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.