org.keycloak.sessions

## 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

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.keycloak.sessions.CommonClientSessionModel

      `CommonClientSessionModel.Action, CommonClientSessionModel.ExecutionStatus`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addRequiredAction(String action)` Adds a required action to the authentication session.
    `void` | `addRequiredAction(UserModel.RequiredAction action)` Adds a required action to the authentication session.
    `void` | `clearAuthNotes()` Clears all authentication note.
    `void` | `clearClientNotes()` Clears all client notes.
    `void` | `clearExecutionStatus()` Clears execution status of the authentication session.
    `void` | `clearUserSessionNotes()` Clears all user session notes.
    `UserModel` | `getAuthenticatedUser()` Returns authenticated user that is associated to the authentication session.
    `String` | `getAuthNote(String name)` Retrieves value of the given authentication note to the given value.
    `String` | `getClientNote(String name)` Retrieves value of the given client note to the given value.
    `Map<String,String>` | `getClientNotes()` Retrieves the (name, value) map of client notes.
    `Set<String>` | `getClientScopes()` Gets client scope IDs from the authentication session.
    `Map<String,CommonClientSessionModel.ExecutionStatus>` | `getExecutionStatus()` Returns execution status of the authentication session.
    `RootAuthenticationSessionModel` | `getParentSession()` Returns the root authentication session that is parent of this authentication session.
    `Set<String>` | `getRequiredActions()` Returns required actions that are attached to this client session.
    `String` | `getTabId()`
    `Map<String,String>` | `getUserSessionNotes()` Retrieves value of given user session note.
    `void` | `removeAuthNote(String name)` Removes the given authentication note.
    `void` | `removeClientNote(String name)` Removes the given client note.
    `void` | `removeRequiredAction(String action)` Removes a required action from the authentication session.
    `void` | `removeRequiredAction(UserModel.RequiredAction action)` Removes a required action from the authentication session.
    `void` | `setAuthenticatedUser(UserModel user)` Sets authenticated user that is associated to the authentication session.
    `void` | `setAuthNote(String name, String value)` Sets the given authentication note to the given value.
    `void` | `setClientNote(String name, String value)` Sets the given client note to the given value.
    `void` | `setClientScopes(Set<String> clientScopes)` Sets client scope IDs to the authentication session.
    `void` | `setExecutionStatus(String authenticator, CommonClientSessionModel.ExecutionStatus status)` Sets execution status of the authentication session.
    `void` | `setUserSessionNote(String name, String value)` Sets the given user session note to the given value.

    - ### Methods inherited from interface org.keycloak.sessions.CommonClientSessionModel

      `getAction, getClient, getProtocol, getRealm, getRedirectUri, setAction, setProtocol, setRedirectUri`

- - ### Method Detail

    - #### 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 `#getParentSession().getId()`

    - #### getParentSession

          RootAuthenticationSessionModel getParentSession()

      Returns the root authentication session that is parent of this authentication session.
      Returns:
        `RootAuthenticationSessionModel`

    - #### getExecutionStatus

          Map<String,CommonClientSessionModel.ExecutionStatus> 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` if 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`.

Copyright © 2020 JBoss by Red Hat. All rights reserved.