-
- 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
Principal
or a wholeSubject
either 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)
-
-