Class AzureIdentityMysqlAuthenticationPlugin

java.lang.Object
com.azure.identity.providers.mysql.AzureIdentityMysqlAuthenticationPlugin
All Implemented Interfaces:
com.mysql.cj.protocol.AuthenticationPlugin<com.mysql.cj.protocol.a.NativePacketPayload>

public class AzureIdentityMysqlAuthenticationPlugin extends Object implements com.mysql.cj.protocol.AuthenticationPlugin<com.mysql.cj.protocol.a.NativePacketPayload>
The authentication plugin that enables authentication with Azure AD.
  • Constructor Details

    • AzureIdentityMysqlAuthenticationPlugin

      public AzureIdentityMysqlAuthenticationPlugin()
      Default constructor of AzureIdentityMysqlAuthenticationPlugin.
  • Method Details

    • destroy

      public void destroy()
      Specified by:
      destroy in interface com.mysql.cj.protocol.AuthenticationPlugin<com.mysql.cj.protocol.a.NativePacketPayload>
    • getProtocolPluginName

      public String getProtocolPluginName()
      Specified by:
      getProtocolPluginName in interface com.mysql.cj.protocol.AuthenticationPlugin<com.mysql.cj.protocol.a.NativePacketPayload>
    • init

      public void init(com.mysql.cj.protocol.Protocol<com.mysql.cj.protocol.a.NativePacketPayload> protocol)
      Specified by:
      init in interface com.mysql.cj.protocol.AuthenticationPlugin<com.mysql.cj.protocol.a.NativePacketPayload>
    • init

      public void init(com.mysql.cj.protocol.Protocol<com.mysql.cj.protocol.a.NativePacketPayload> protocol, com.mysql.cj.callback.MysqlCallbackHandler callbackHandler)
      Specified by:
      init in interface com.mysql.cj.protocol.AuthenticationPlugin<com.mysql.cj.protocol.a.NativePacketPayload>
    • isReusable

      public boolean isReusable()
      Specified by:
      isReusable in interface com.mysql.cj.protocol.AuthenticationPlugin<com.mysql.cj.protocol.a.NativePacketPayload>
    • nextAuthenticationStep

      public boolean nextAuthenticationStep(com.mysql.cj.protocol.a.NativePacketPayload fromServer, List<com.mysql.cj.protocol.a.NativePacketPayload> toServer)
      Specified by:
      nextAuthenticationStep in interface com.mysql.cj.protocol.AuthenticationPlugin<com.mysql.cj.protocol.a.NativePacketPayload>
    • requiresConfidentiality

      public boolean requiresConfidentiality()
      Does this plugin require the connection itself to be confidential (i.e. tls/ssl)...Highly recommended to return "true" for plugins that return the credentials in the clear.
      Specified by:
      requiresConfidentiality in interface com.mysql.cj.protocol.AuthenticationPlugin<com.mysql.cj.protocol.a.NativePacketPayload>
      Returns:
      true if secure connection is required
    • setAuthenticationParameters

      public void setAuthenticationParameters(String username, String password)
      Specified by:
      setAuthenticationParameters in interface com.mysql.cj.protocol.AuthenticationPlugin<com.mysql.cj.protocol.a.NativePacketPayload>