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 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 null
      getOrCreateSession - function to retrieve or create a session.
      Returns:
      A UserIdentity if the credentials matched, otherwise null
    • getUserIdentity

      default UserIdentity getUserIdentity(Subject subject, Principal userPrincipal, boolean create)
      Get or create a UserIdentity that is not authenticated by the LoginService. Typically, this method is used when a user is separately authenticated, but the roles of this service are needed for authorization.
      Parameters:
      subject - The subject
      userPrincipal - the userPrincipal
      create - If true, the getIdentityService() may be used to create a new UserIdentity.
      Returns:
      A UserIdentity or null.
    • validate

      boolean validate(UserIdentity user)
      Validate a user identity. Validate that a UserIdentity previously created by a call to login(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

      void setIdentityService(IdentityService service)
      Set the IdentityService associated with this Login Service.
      Parameters:
      service - the IdentityService associated with this Login Service.
    • logout

      void logout(UserIdentity user)