Class InvocationContext

java.lang.Object
pl.edu.icm.unity.engine.api.authn.InvocationContext
All Implemented Interfaces:
Serializable

public class InvocationContext extends Object implements Serializable
Stores thread-local information about the current request metadata in thread local variable. The thread-local variable should be set up by the binding authentication code.

The data stored includes authenticated user's identity and the selected locale.

Author:
K. Benedyczak
See Also:
  • Constructor Details

    • InvocationContext

      public InvocationContext(IdentityTaV tlsIdentity, AuthenticationRealm realm, List<AuthenticationFlow> endpointFlows)
      Parameters:
      tlsIdentity - TLS client-authenticated identity (of X500 type) or null if there is no TLS client connection context or it is not client authenticated.
  • Method Details

    • setCurrent

      public static void setCurrent(InvocationContext context)
    • getCurrent

      public static InvocationContext getCurrent() throws InternalException
      Throws:
      InternalException
    • hasCurrent

      public static boolean hasCurrent()
    • safeGetRealm

      public static String safeGetRealm()
      Returns:
      current authentication realm's name or null if undefined/unknown.
    • getRealm

      public AuthenticationRealm getRealm()
    • getLoginSession

      public LoginSession getLoginSession()
    • setLoginSession

      public void setLoginSession(LoginSession loginSession)
    • getLocale

      public Locale getLocale()
      Returns:
      the locale
    • setLocale

      public void setLocale(Locale locale)
    • getTlsIdentity

      public IdentityTaV getTlsIdentity()
      Returns:
      the TLS authenticated identity if available or null
    • setTlsIdentity

      public void setTlsIdentity(IdentityTaV tlsIdentity)
      Sets a TLS authenticated identity.
      Parameters:
      tlsIdentity -
    • getEndpointFlows

      public List<AuthenticationFlow> getEndpointFlows()
    • getCurrentURLUsed

      public String getCurrentURLUsed()
      Returns:
      the current URL which was used to trigger the current processing. Can be null. This is set on best effort basis and is not suitable for authorization or other sensitive operations. Always check if not null.
    • setCurrentURLUsed

      public void setCurrentURLUsed(String currentURLUsed)
    • getInvocationMaterial

      public InvocationContext.InvocationMaterial getInvocationMaterial()
    • setInvocationMaterial

      public void setInvocationMaterial(InvocationContext.InvocationMaterial invocationMaterial)
    • getScopes

      public List<String> getScopes()
    • setScopes

      public void setScopes(List<String> scopes)