Interface Authentication
@ProviderType
public interface Authentication
The
Authentication
interface defines methods to validate
Credentials
during the
login step
of the
authentication process. The validation depends on the authentication
mechanism in place.
A given implementation may only handle certain types of Credentials
as the authentication process is tightly coupled to the semantics of the
Credentials
.
For example a implementation may only be able to validate UserID/password
pairs such as passed with SimpleCredentials
, while another
might be responsible for validating login token issued by the repository or
an external access token generation mechanism.
-
Method Summary
Modifier and TypeMethodDescriptionboolean
authenticate
(@Nullable Credentials credentials) Validates the specifiedCredentials
and returnstrue
if the validation was successful.@Nullable String
Optional method that return the userID extracted uponauthenticate(Credentials)
.@Nullable Principal
Optional method that return thePrincipal
of the authenticating user extracted uponauthenticate(Credentials)
.
-
Method Details
-
authenticate
Validates the specifiedCredentials
and returnstrue
if the validation was successful.- Parameters:
credentials
- to verify- Returns:
true
if the validation was successful;false
if the specified credentials are not supported and this authentication implementation cannot verify their validity.- Throws:
LoginException
- if the authentication failed.
-
getUserId
Optional method that return the userID extracted uponauthenticate(Credentials)
. It is expected to returnnull
if the implementation doesn't support this. AnIllegalStateException
may be thrown if called prior toauthenticate(Credentials)
.- Returns:
- a user identifier or
null
-
getUserPrincipal
Optional method that return thePrincipal
of the authenticating user extracted uponauthenticate(Credentials)
. It is expected to returnnull
if the implementation doesn't support this. AnIllegalStateException
may be thrown if called prior toauthenticate(Credentials)
.- Returns:
- a valid
Principal
ornull
-