Interface IdentityProvider<T extends AuthenticationRequest>


public interface IdentityProvider<T extends AuthenticationRequest>

As the requirements for different providers are often different this interface has purposefully been made minimal. Interfaces that extend IdentityProvider should be created for different use cases, which can then be used directly.

IdentityProviderManager should be used to get a specific type of IdentityProvider for a specific use case.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    The highest priority provider Quarkus will register
    static final int
    The lowest priority provider Quarkus will register
  • Method Summary

    Modifier and Type
    Method
    Description
    io.smallrye.mutiny.Uni<SecurityIdentity>
    Attempts to authenticate the given authentication request.
     
    default int
    Returns the priority of this identity provider.
  • Field Details

    • SYSTEM_LAST

      static final int SYSTEM_LAST
      The lowest priority provider Quarkus will register
      See Also:
    • SYSTEM_FIRST

      static final int SYSTEM_FIRST
      The highest priority provider Quarkus will register
      See Also:
  • Method Details

    • getRequestType

      Class<T> getRequestType()
      Returns:
      The type of request this store can handle
    • authenticate

      io.smallrye.mutiny.Uni<SecurityIdentity> authenticate(T request, AuthenticationRequestContext context)
      Attempts to authenticate the given authentication request. If this is unsuccessful because the provided credentials are invalid then this should fail with an AuthenticationFailedException, otherwise it should complete with a null value.

      Any other failure mode will be interpreted as a failure in the underlying store (e.g. LDAP is down), rather than the credentials being invalid. If multiple providers are installed that can handle the same type of request an AuthenticationFailedException will immediately stop processing, while any other failure will allow processing to continue.

      Parameters:
      request - The authentication request
      context - The context of the request
      Returns:
      The future security identity
    • priority

      default int priority()
      Returns the priority of this identity provider. System providers have a priority between 0 and 1000 by default, so to guarantee that your provider runs before the Quarkus ones it's priority should be over 1000.
      Returns:
      The priority of this identity provider