Interface AuthenticationSessionModel

All Superinterfaces:
CommonClientSessionModel
All Known Implementing Classes:
AuthenticationSessionAdapter, MapAuthenticationSessionAdapter

public interface AuthenticationSessionModel extends CommonClientSessionModel
Represents the state of the authentication. If the login is requested from different tabs of same browser, every browser tab has it's own state of the authentication. So there is separate AuthenticationSessionModel for every tab. Whole browser is represented by RootAuthenticationSessionModel
Author:
Marek Posolda
  • Method Details

    • getTabId

      String getTabId()
      Returns:
      ID of this subsession (in other words, usually browser tab). For lookup the AuthenticationSessionModel, you need: ID of rootSession (parent), client UUID and tabId. For lookup the ID of the parent, use {@link #getParentSession().getId()}
    • getParentSession

      RootAuthenticationSessionModel getParentSession()
      Returns the root authentication session that is parent of this authentication session.
      Returns:
      RootAuthenticationSessionModel
    • getExecutionStatus

      Returns execution status of the authentication session.
      Returns:
      Map<String, ExecutionStatus> Never returns null.
    • setExecutionStatus

      void setExecutionStatus(String authenticator, CommonClientSessionModel.ExecutionStatus status)
      Sets execution status of the authentication session.
      Parameters:
      authenticator - String Can't be null.
      status - ExecutionStatus Can't be null.
    • clearExecutionStatus

      void clearExecutionStatus()
      Clears execution status of the authentication session.
    • getAuthenticatedUser

      UserModel getAuthenticatedUser()
      Returns authenticated user that is associated to the authentication session.
      Returns:
      UserModel or null if there's no authenticated user.
    • setAuthenticatedUser

      void setAuthenticatedUser(UserModel user)
      Sets authenticated user that is associated to the authentication session.
      Parameters:
      user - UserModel If null then null will be set to the authenticated user.
    • getRequiredActions

      Set<String> getRequiredActions()
      Returns required actions that are attached to this client session.
      Returns:
      Set<String> Never returns null.
    • addRequiredAction

      void addRequiredAction(String action)
      Adds a required action to the authentication session.
      Parameters:
      action - String Can't be null.
    • removeRequiredAction

      void removeRequiredAction(String action)
      Removes a required action from the authentication session.
      Parameters:
      action - String Can't be null.
    • addRequiredAction

      void addRequiredAction(UserModel.RequiredAction action)
      Adds a required action to the authentication session.
      Parameters:
      action - UserModel.RequiredAction Can't be null.
    • removeRequiredAction

      void removeRequiredAction(UserModel.RequiredAction action)
      Removes a required action from the authentication session.
      Parameters:
      action - UserModel.RequiredAction Can't be null.
    • setUserSessionNote

      void setUserSessionNote(String name, String value)
      Sets the given user session note to the given value. User session notes are notes you want be applied to the UserSessionModel when the client session is attached to it.
      Parameters:
      name - String If null is provided the method won't have an effect.
      value - String If null is provided the method won't have an effect.
    • getUserSessionNotes

      Map<String,String> getUserSessionNotes()
      Retrieves value of given user session note. User session notes are notes you want be applied to the UserSessionModel when the client session is attached to it.
      Returns:
      Map<String, String> never returns null
    • clearUserSessionNotes

      void clearUserSessionNotes()
      Clears all user session notes. User session notes are notes you want be applied to the UserSessionModel when the client session is attached to it.
    • getAuthNote

      String getAuthNote(String name)
      Retrieves value of the given authentication note to the given value. Authentication notes are notes used typically by authenticators and authentication flows. They are cleared when authentication session is restarted.
      Parameters:
      name - String If null is provided then the method will return null.
      Returns:
      String or null if no authentication note is set.
    • setAuthNote

      void setAuthNote(String name, String value)
      Sets the given authentication note to the given value. Authentication notes are notes used typically by authenticators and authentication flows. They are cleared when authentication session is restarted.
      Parameters:
      name - String If null is provided the method won't have an effect.
      value - String If null is provided the method won't have an effect.
    • removeAuthNote

      void removeAuthNote(String name)
      Removes the given authentication note. Authentication notes are notes used typically by authenticators and authentication flows. They are cleared when authentication session is restarted.
      Parameters:
      name - String If null is provided the method won't have an effect.
    • clearAuthNotes

      void clearAuthNotes()
      Clears all authentication note. Authentication notes are notes used typically by authenticators and authentication flows. They are cleared when authentication session is restarted.
    • getClientNote

      String getClientNote(String name)
      Retrieves value of the given client note to the given value. Client notes are notes specific to client protocol. They are NOT cleared when authentication session is restarted.
      Parameters:
      name - String If null if provided then the method will return null.
      Returns:
      String or null if no client's note is set.
    • setClientNote

      void setClientNote(String name, String value)
      Sets the given client note to the given value. Client notes are notes specific to client protocol. They are NOT cleared when authentication session is restarted.
      Parameters:
      name - String If null is provided the method won't have an effect.
      value - String If null is provided the method won't have an effect.
    • removeClientNote

      void removeClientNote(String name)
      Removes the given client note. Client notes are notes specific to client protocol. They are NOT cleared when authentication session is restarted.
      Parameters:
      name - String If null is provided the method won't have an effect.
    • getClientNotes

      Map<String,String> getClientNotes()
      Retrieves the (name, value) map of client notes. Client notes are notes specific to client protocol. They are NOT cleared when authentication session is restarted.
      Returns:
      Map<String, String> never returns null.
    • clearClientNotes

      void clearClientNotes()
      Clears all client notes. Client notes are notes specific to client protocol. They are NOT cleared when authentication session is restarted.
    • getClientScopes

      Set<String> getClientScopes()
      Gets client scope IDs from the authentication session.
      Returns:
      Set<String> never returns null.
    • setClientScopes

      void setClientScopes(Set<String> clientScopes)
      Sets client scope IDs to the authentication session.
      Parameters:
      clientScopes - Set<String> Can't be null.