Class ChainAuth

All Implemented Interfaces:
MutinyDelegate

public class ChainAuth extends AuthenticationProvider implements MutinyDelegate
Chain several authentication providers as if they were one. This is useful for cases where one want to authenticate across several providers, for example, database and fallback to passwd file.

NOTE: This class has been automatically generated from the original non Mutiny-ified interface.

See Also:
  • ChainAuth
  • Field Details

  • Constructor Details

    • ChainAuth

      public ChainAuth(io.vertx.ext.auth.ChainAuth delegate)
      Create a new instance of ChainAuth delegating to the given (non-null) instance of ChainAuth.
    • ChainAuth

      public ChainAuth(Object delegate)
  • Method Details

    • getDelegate

      public io.vertx.ext.auth.ChainAuth getDelegate()
      Get the delegate instance.

      This method returns the instance on which this shim is delegating the calls. And so, give you access to the bare API.

      Specified by:
      getDelegate in interface MutinyDelegate
      Overrides:
      getDelegate in class AuthenticationProvider
      Returns:
      the delegate instance
    • authenticate

      @CheckReturnValue public io.smallrye.mutiny.Uni<User> authenticate(io.vertx.ext.auth.authentication.Credentials arg0)
      Authenticate a user.

      The first argument is a Credentials object containing information for authenticating the user. What this actually contains depends on the specific implementation.

      Unlike the bare Vert.x variant, this method returns a Uni. The uni emits the result of the operation as item. If the operation fails, the uni emits the failure.

      Don't forget to subscribe on it to trigger the operation.

      Overrides:
      authenticate in class AuthenticationProvider
      Parameters:
      credentials - The credentials
      Returns:
      A Uni representing the asynchronous result of this operation.
      See Also:
      • AuthenticationProvider.authenticate(Credentials)
    • authenticateAndAwait

      public User authenticateAndAwait(io.vertx.ext.auth.authentication.Credentials arg0)
      Authenticate a user.

      The first argument is a Credentials object containing information for authenticating the user. What this actually contains depends on the specific implementation.

      Unlike the bare Vert.x variant, this method returns a User. This method awaits indefinitely for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Overrides:
      authenticateAndAwait in class AuthenticationProvider
      Parameters:
      credentials - The credentials
      Returns:
      The operation result
      See Also:
      • AuthenticationProvider.authenticate(Credentials)
    • authenticateAndForget

      public ChainAuth authenticateAndForget(io.vertx.ext.auth.authentication.Credentials arg0)
      Authenticate a user.

      The first argument is a Credentials object containing information for authenticating the user. What this actually contains depends on the specific implementation.

      Unlike the bare Vert.x variant, this method ignores the User result or any failure.

      Overrides:
      authenticateAndForget in class AuthenticationProvider
      Parameters:
      credentials - The credentials
      Returns:
      The current instance to chain operations if needed.
      See Also:
      • AuthenticationProvider.authenticate(Credentials)
    • all

      public static ChainAuth all()
      Create a Chainable Auth Provider auth provider that will resolve if all auth providers are successful.
      Returns:
      the auth provider
    • any

      public static ChainAuth any()
      Create a Chainable Auth Provider auth provider that will resolve on the first success.
      Returns:
      the auth provider
    • add

      public ChainAuth add(AuthenticationProvider other)
      Appends a auth provider to the chain.
      Parameters:
      other - auth provider
      Returns:
      self
    • newInstance

      public static ChainAuth newInstance(io.vertx.ext.auth.ChainAuth delegate)
      Creates a new instance of the ChainAuth.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class AuthenticationProvider
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class AuthenticationProvider
    • toString

      public String toString()
      Overrides:
      toString in class AuthenticationProvider