Package org.mariadb.jdbc.plugin

# Interface AuthenticationPlugin

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

public interface AuthenticationPlugin
Authentication plugin descriptor

## Method Summary

Modifier and Type
Method
Description
`void`
`initialize(String authenticationData, byte[] seed, Configuration conf)`
Plugin initialization.
`org.mariadb.jdbc.client.ReadableByteBuf`
`process(Writer encoder, Reader decoder, org.mariadb.jdbc.client.Context context)`
Process plugin authentication.
`String`
`type()`
Authentication plugin type.

## 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)
Plugin initialization.

Parameters:
  `authenticationData` - authentication data (password/token)
  `seed` - server provided seed
  `conf` - Connection options

### process

org.mariadb.jdbc.client.ReadableByteBuf process(Writer encoder, Reader decoder, org.mariadb.jdbc.client.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