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:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
InvocationContext.InvocationMaterial
-
Constructor Summary
Constructors Constructor Description InvocationContext(IdentityTaV tlsIdentity, AuthenticationRealm realm, List<AuthenticationFlow> endpointFlows)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static InvocationContext
getCurrent()
String
getCurrentURLUsed()
List<AuthenticationFlow>
getEndpointFlows()
InvocationContext.InvocationMaterial
getInvocationMaterial()
Locale
getLocale()
LoginSession
getLoginSession()
AuthenticationRealm
getRealm()
List<String>
getScopes()
IdentityTaV
getTlsIdentity()
static boolean
hasCurrent()
static String
safeGetRealm()
static void
setCurrent(InvocationContext context)
void
setCurrentURLUsed(String currentURLUsed)
void
setInvocationMaterial(InvocationContext.InvocationMaterial invocationMaterial)
void
setLocale(Locale locale)
void
setLoginSession(LoginSession loginSession)
void
setScopes(List<String> scopes)
void
setTlsIdentity(IdentityTaV tlsIdentity)
Sets a TLS authenticated identity.
-
-
-
Constructor Detail
-
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 Detail
-
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)
-
-