Interface UserContext


public interface UserContext
A web user is extended user coupled to the context and is used to perform verifications and actions on behalf of the user. Actions can be:
  • refresh() - Require a re-authentication to confirm the user is present
  • impersonate() - Require a re-authentication to switch user identities
  • restore() - De-escalate a previous impersonate call
  • logout() - Logout the user from this application and redirect to a uri
  • clear() - Same as logout, without requirind a redirect
  • Method Summary

    Modifier and Type
    Method
    Description
    default boolean
     
    void
    Clear can be called from any route handler which needs to terminate a login session.
    get()
    Get the authenticated user (if any).
    Impersonates a second identity.
    impersonate(String redirectUri)
    Impersonates a second identity.
    loginHint(String loginHint)
    When performing a web identity operation, hint if possible to the identity provider to use the given login.
    Logout can be called from any route handler which needs to terminate a login session.
    logout(String redirectUri)
    Logout can be called from any route handler which needs to terminate a login session.
    Forces the current user to re-authenticate.
    refresh(String redirectUri)
    Forces the current user to re-authenticate.
    Undo a previous call to a impersonation.
    restore(String redirectUri)
    Undo a previous call to an impersonation.
  • Method Details

    • get

      User get()
      Get the authenticated user (if any). This will usually be injected by an auth handler if authentication if successful.
      Returns:
      the user, or null if the current user is not authenticated.
    • authenticated

      default boolean authenticated()
    • loginHint

      UserContext loginHint(String loginHint)
      When performing a web identity operation, hint if possible to the identity provider to use the given login.
      Parameters:
      loginHint - the desired login name, for example: admin.
      Returns:
      fluent self
    • refresh

      Future<Void> refresh()
      Forces the current user to re-authenticate. The user will be redirected to the same origin where this call was made. It is important to notice that the redirect will only allow sources originating from a HTTP GET request.
      Returns:
      future result of the operation.
    • refresh

      Future<Void> refresh(String redirectUri)
      Forces the current user to re-authenticate. The user will be redirected to the given uri. It is important to notice that the redirect will only allow targets using an HTTP GET request.
      Parameters:
      redirectUri - the uri to redirect the user to after the re-authentication.
      Returns:
      future result of the operation.
    • impersonate

      Future<Void> impersonate()
      Impersonates a second identity. The user will be redirected to the same origin where this call was made. It is important to notice that the redirect will only allow sources originating from a HTTP GET request.
      Returns:
      future result of the operation.
    • impersonate

      Future<Void> impersonate(String redirectUri)
      Impersonates a second identity. The user will be redirected to the given uri. It is important to notice that the redirect will only allow targets using an HTTP GET request.
      Parameters:
      redirectUri - the uri to redirect the user to after the authentication.
      Returns:
      future result of the operation.
    • restore

      Future<Void> restore()
      Undo a previous call to a impersonation. The user will be redirected to the same origin where this call was made. It is important to notice that the redirect will only allow sources originating from a HTTP GET request.
      Returns:
      future result of the operation.
    • restore

      Future<Void> restore(String redirectUri)
      Undo a previous call to an impersonation. The user will be redirected to the given uri. It is important to notice that the redirect will only allow targets using an HTTP GET request.
      Parameters:
      redirectUri - the uri to redirect the user to after the re-authentication.
      Returns:
      future result of the operation.
    • logout

      Future<Void> logout(String redirectUri)
      Logout can be called from any route handler which needs to terminate a login session. Invoking logout will remove the User and clear the Session (if any) in the current context. Followed by a redirect to the given uri.
      Parameters:
      redirectUri - the uri to redirect the user to after the logout.
      Returns:
      future result of the operation.
    • logout

      Future<Void> logout()
      Logout can be called from any route handler which needs to terminate a login session. Invoking logout will remove the User and clear the Session (if any) in the current context. Followed by a redirect to /.
      Returns:
      future result of the operation.
    • clear

      void clear()
      Clear can be called from any route handler which needs to terminate a login session. Invoking logout will remove the User and clear the Session (if any) in the current context. Unlike logout() no redirect will be performed.