Class AuthSSOToken
- java.lang.Object
-
- com.sun.identity.authentication.internal.AuthSSOToken
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classAuthSSOToken.AuthSSOTokenID
-
Field Summary
Fields Modifier and Type Field Description protected static MapallSSOTokensprotected AuthContextauthContextprotected HashSetcallbackObjectsstatic intDESTROYEDstatic intINVALIDprotected Stringkeyprotected static Randomrandomprotected HashMapsessionstatic intVALID
-
Constructor Summary
Constructors Modifier Constructor Description protectedAuthSSOToken(AuthContext authc)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddSSOTokenListener(SSOTokenListener listener)Adds an SSO token listener for the token change events.StringdereferenceRestrictedTokenID(SSOToken requester, String restrictedId)Given a restricted token, returns the SSOTokenID of the master token can only be used if the requester is an app tokenStringencodeURL(String url)Returns the encoded URL , rewritten to include the session id.byte[]getAddress()intgetAuthLevel()Returns the authentication level of the authentication method used for authentication.StringgetAuthType()Returns the authentication method used for authentication.StringgetHostName()Returns the host name of the client (browser) that sent the request.longgetIdleTime()Returns the session idle time in seconds.InetAddressgetIPAddress()Returns the IP Address of the client (browser) that sent the request.longgetMaxIdleTime()Returns the maximum session idle time in minutes.longgetMaxSessionTime()Returns the maximum session time in minutes.protected static StringgetNewKey()PrincipalgetPrincipal()Returns the value of the property "Principal" set to the single sign on token.StringgetProperty(String name)Gets the property stored in this token.StringgetProperty(String name, boolean ignoreState)Gets the property stored in this token.protected intgetState()longgetTimeLeft()Returns the time left in seconds on the session based on max session time.SSOTokenIDgetTokenID()Returns single sign on token ID object.protected voidinvalidate()booleanisTokenRestricted()Returns true if the SSOTokenID associated with this SSOToken is a restricted token, false otherwise.protected booleanisValid()voidsetProperty(String name, String value)Sets a property for this token.protected voidvalidate()
-
-
-
Field Detail
-
allSSOTokens
protected static Map allSSOTokens
-
random
protected static Random random
-
INVALID
public static final int INVALID
- See Also:
- Constant Field Values
-
VALID
public static final int VALID
- See Also:
- Constant Field Values
-
DESTROYED
public static final int DESTROYED
- See Also:
- Constant Field Values
-
authContext
protected AuthContext authContext
-
session
protected HashMap session
-
callbackObjects
protected HashSet callbackObjects
-
key
protected String key
-
-
Constructor Detail
-
AuthSSOToken
protected AuthSSOToken(AuthContext authc) throws InvalidAuthContextException
- Throws:
InvalidAuthContextException
-
-
Method Detail
-
getNewKey
protected static String getNewKey()
-
getPrincipal
public Principal getPrincipal() throws SSOException
Description copied from interface:SSOTokenReturns the value of the property "Principal" set to the single sign on token.- Specified by:
getPrincipalin interfaceSSOToken- Returns:
- The principal name
- Throws:
SSOException- if the single sign on token is not valid or if there are errors in getting the principal
-
getAuthType
public String getAuthType() throws SSOException
Description copied from interface:SSOTokenReturns the authentication method used for authentication.- Specified by:
getAuthTypein interfaceSSOToken- Returns:
- The authentication method
- Throws:
SSOException- if the single sign on token is not valid or if there are errors in getting the authentication method
-
getAuthLevel
public int getAuthLevel() throws SSOExceptionDescription copied from interface:SSOTokenReturns the authentication level of the authentication method used for authentication.- Specified by:
getAuthLevelin interfaceSSOToken- Returns:
- The authentication level
- Throws:
SSOException- if the single sign on token is not valid or if there are errors in getting the authentication level
-
getIPAddress
public InetAddress getIPAddress() throws SSOException
Description copied from interface:SSOTokenReturns the IP Address of the client (browser) that sent the request.- Specified by:
getIPAddressin interfaceSSOToken- Returns:
- The IP Address of the client
- Throws:
SSOException- if the single sign on token is not valid or if there are errors in getting the IP Address of the client
-
getHostName
public String getHostName() throws SSOException
Description copied from interface:SSOTokenReturns the host name of the client (browser) that sent the request.- Specified by:
getHostNamein interfaceSSOToken- Returns:
- The host name of the client
- Throws:
SSOException- if the single sign on token is not valid or if there are errors in getting the host name of the client
-
getAddress
public byte[] getAddress() throws SSOException- Throws:
SSOException
-
getTimeLeft
public long getTimeLeft() throws SSOExceptionDescription copied from interface:SSOTokenReturns the time left in seconds on the session based on max session time.- Specified by:
getTimeLeftin interfaceSSOToken- Returns:
- The time left in seconds on the session.
- Throws:
SSOException- if the single sign on token is not valid or if there are errors in getting the maximum session time.
-
encodeURL
public String encodeURL(String url)
Description copied from interface:SSOTokenReturns the encoded URL , rewritten to include the session id. The session id will be encoded in the URL as a query string with entity escaping of ampersand when appending the session id to the query string if the query string has other query parameters.Encoded URL format if query string in the original URL passed is present will be :
protocol://server:port/path?queryString&cookieName=cookieValue
Encoded URL format if query string in the original URL passed is not present will be:protocol://server:port/path?cookieName=cookieValue
-
getMaxSessionTime
public long getMaxSessionTime() throws SSOExceptionDescription copied from interface:SSOTokenReturns the maximum session time in minutes.- Specified by:
getMaxSessionTimein interfaceSSOToken- Returns:
- The maximum session time in minutes
- Throws:
SSOException- if the single sign on token is not valid or if there are errors in getting the maximum session time
-
getIdleTime
public long getIdleTime() throws SSOExceptionDescription copied from interface:SSOTokenReturns the session idle time in seconds.- Specified by:
getIdleTimein interfaceSSOToken- Returns:
- The session idle time in seconds
- Throws:
SSOException- if the single sign on token is not valid or if there are errors in getting the session idle time
-
getMaxIdleTime
public long getMaxIdleTime() throws SSOExceptionDescription copied from interface:SSOTokenReturns the maximum session idle time in minutes.- Specified by:
getMaxIdleTimein interfaceSSOToken- Returns:
- The maximum session idle time in minutes
- Throws:
SSOException- if the single sign on token is not valid or if there are errors in getting the maximum idle time
-
getTokenID
public SSOTokenID getTokenID()
Description copied from interface:SSOTokenReturns single sign on token ID object.- Specified by:
getTokenIDin interfaceSSOToken- Returns:
- single sign on token ID.
-
getState
protected int getState() throws SSOException- Throws:
SSOException
-
setProperty
public void setProperty(String name, String value) throws SSOException
Description copied from interface:SSOTokenSets a property for this token.- Specified by:
setPropertyin interfaceSSOToken- Parameters:
name- The property name.value- The property value.- Throws:
SSOException- if the single sign on token is not valid or if there are errors in setting the property name and value
-
getProperty
public String getProperty(String name) throws SSOException
Description copied from interface:SSOTokenGets the property stored in this token.- Specified by:
getPropertyin interfaceSSOToken- Parameters:
name- The property name.- Returns:
- The property value in string format.
- Throws:
SSOException- if the single sign on token is not valid or if there are errors in getting the property value
-
getProperty
public String getProperty(String name, boolean ignoreState) throws SSOException
Description copied from interface:SSOTokenGets the property stored in this token. When ignoreState is set to true, it will return the session property value without refreshing the session even if the session state is invalid but it should be running in the server mode- Specified by:
getPropertyin interfaceSSOToken- Parameters:
name- The property name.ignoreState- The ignoreState flag.- Returns:
- The property value in string format.
- Throws:
SSOException- if the SSOToken is not VALID and if ignoreState is set to false.
-
addSSOTokenListener
public void addSSOTokenListener(SSOTokenListener listener) throws SSOException
Description copied from interface:SSOTokenAdds an SSO token listener for the token change events.- Specified by:
addSSOTokenListenerin interfaceSSOToken- Parameters:
listener- A reference to anSSOTokenListenerobject.- Throws:
SSOException- if the token is not valid or if there are errors in setting the SSO token listener.
-
isValid
protected boolean isValid()
-
validate
protected void validate() throws SSOException- Throws:
SSOException
-
invalidate
protected void invalidate()
-
isTokenRestricted
public boolean isTokenRestricted() throws SSOExceptionDescription copied from interface:SSOTokenReturns true if the SSOTokenID associated with this SSOToken is a restricted token, false otherwise.- Specified by:
isTokenRestrictedin interfaceSSOToken- Returns:
- true if the token is restricted
- Throws:
SSOException- If we are unable to determine if the session is restricted
-
dereferenceRestrictedTokenID
public String dereferenceRestrictedTokenID(SSOToken requester, String restrictedId) throws SSOException
Description copied from interface:SSOTokenGiven a restricted token, returns the SSOTokenID of the master token can only be used if the requester is an app token- Specified by:
dereferenceRestrictedTokenIDin interfaceSSOToken- Parameters:
requester- Must be an app tokenrestrictedId- The SSOTokenID of the restricted token- Returns:
- The SSOTokenID string of the master token
- Throws:
SSOException- If the master token cannot be dereferenced
-
-