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.

    • Method Detail

      • 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