- 
- All Superinterfaces:
 SecurityProvider
- All Known Implementing Classes:
 GoogleTokenProvider,HeaderAtnProvider,HttpBasicAuthProvider,HttpDigestAuthProvider,HttpSignProvider,JwtAuthProvider,JwtProvider,OidcProvider
- Functional Interface:
 - This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
 
@FunctionalInterface public interface AuthenticationProvider extends SecurityProvider
Authentication security provider. Expected to authenticate the request and provide a Subject to the security component, that would be available throughSecurityContext. 
- 
- 
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description CompletionStage<AuthenticationResponse>authenticate(ProviderRequest providerRequest)Authenticate a request.- 
Methods inherited from interface io.helidon.security.spi.SecurityProvider
supportedAnnotations, supportedAttributes, supportedConfigKeys, supportedCustomObjects 
 - 
 
 - 
 
- 
- 
Method Detail
- 
authenticate
CompletionStage<AuthenticationResponse> authenticate(ProviderRequest providerRequest)
Authenticate a request. This may be just resolving headers (tokens) or full authentication (basic auth). Do not throw exception for normal processing (e.g. invalid credentials; you may throw an exception in case of misconfiguration). This method will be invoked for inbound requests ONLY.This method must provide either a
Principalor a wholeSubjecteither for a user or for service (or both).- Parameters:
 providerRequest- context of this security enforcement/validation- Returns:
 - response that either authenticates the request, fails authentication or abstains from authentication
 - See Also:
 AuthenticationResponse.success(Subject)
 
 - 
 
 -