Package org.eclipse.jetty.security
Interface LoginService
- All Known Implementing Classes:
AbstractLoginService
,DataSourceLoginService
,EmptyLoginService
,HashLoginService
,JAASLoginService
,JDBCLoginService
,OpenIdLoginService
,SPNEGOLoginService
public interface LoginService
Login Service Interface.
The Login service provides an abstract mechanism for an Authenticator
to check credentials and to create a UserIdentity
using the
set IdentityService
.
-
Method Summary
Modifier and TypeMethodDescriptionGet the IdentityService associated with this Login Service.getName()
default UserIdentity
getUserIdentity
(Subject subject, Principal userPrincipal, boolean create) Get or create aUserIdentity
that is not authenticated by theLoginService
.login
(String username, Object credentials, Request request, Function<Boolean, Session> getOrCreateSession) Login a user.void
logout
(UserIdentity user) void
setIdentityService
(IdentityService service) Set the IdentityService associated with this Login Service.boolean
validate
(UserIdentity user) Validate a user identity.
-
Method Details
-
getName
String getName()- Returns:
- Get the name of the login service (aka Realm name)
-
login
UserIdentity login(String username, Object credentials, Request request, Function<Boolean, Session> getOrCreateSession) Login a user.- Parameters:
username
- The username.credentials
- The users credentials.request
- The request or nullgetOrCreateSession
- function to retrieve or create a session.- Returns:
- A UserIdentity if the credentials matched, otherwise null
-
getUserIdentity
Get or create aUserIdentity
that is not authenticated by theLoginService
. Typically, this method is used when a user is separately authenticated, but the roles of this service are needed for authorization.- Parameters:
subject
- The subjectuserPrincipal
- the userPrincipalcreate
- If true, thegetIdentityService()
may be used to create a newUserIdentity
.- Returns:
- A
UserIdentity
or null.
-
validate
Validate a user identity. Validate that a UserIdentity previously created by a call tologin(String, Object, Request, Function)
is still valid.- Parameters:
user
- The user to validate- Returns:
- true if authentication has not been revoked for the user.
-
getIdentityService
IdentityService getIdentityService()Get the IdentityService associated with this Login Service.- Returns:
- the IdentityService associated with this Login Service.
-
setIdentityService
Set the IdentityService associated with this Login Service.- Parameters:
service
- the IdentityService associated with this Login Service.
-
logout
-