Interface AuthenticationPlugin

All Known Implementing Classes:
CachingSha2PasswordPlugin, ClearPasswordPlugin, Ed25519PasswordPlugin, NativePasswordPlugin, SendGssApiAuthPacket, SendPamAuthPacket

public interface AuthenticationPlugin
Authentication plugin descriptor
  • Method Details

    • type

      String type()
      Authentication plugin type.
      Returns:
      authentication plugin type. ex: mysql_native_password
    • initialize

      void initialize(String authenticationData, byte[] seed, Configuration conf, HostAddress hostAddress)
      Plugin initialization.
      Parameters:
      authenticationData - authentication data (password/token)
      seed - server provided seed
      conf - Connection options
      hostAddress - host address
    • process

      ReadableByteBuf process(Writer encoder, Reader decoder, Context context) throws IOException, SQLException
      Process plugin authentication.
      Parameters:
      encoder - out stream
      decoder - in stream
      context - connection context
      Returns:
      response packet
      Throws:
      IOException - if socket error
      SQLException - if plugin exception
    • isMitMProof

      default boolean isMitMProof()
      Can plugins is MitM-proof, permitting returning HASH
      Returns:
      true if permitted
    • hash

      default byte[] hash(Credential credential)
      Return Hash
      Parameters:
      credential - credential
      Returns:
      hash
    • requireSsl

      default boolean requireSsl()
      Authentication plugin required SSL to be used
      Returns:
      true if SSL is required