IBM WebSphere Application ServerTM
Release 7

com.ibm.wsspi.wssecurity.auth.token
Class LTPAToken

java.lang.Object
  extended by com.ibm.wsspi.wssecurity.auth.token.WSSToken
      extended by com.ibm.wsspi.wssecurity.auth.token.LTPAToken
All Implemented Interfaces:
PropagationToken, Token, java.lang.Cloneable
Direct Known Subclasses:
LTPATokenWrapper

public class LTPAToken
extends WSSToken

This class is a token object implementation for LTPA tokens. It extends the WSSToken class, which implements the Token class. It will typically be created by the LTPATokenGenerator and process by the LTPATokenConsumer. Protected by following Java 2 Security permissions: com.ibm.websphere.security.WebSphereRuntimePermission("wssecurity.LTPAToken.setBytes") com.ibm.websphere.security.WebSphereRuntimePermission("wssecurity.LTPAToken.getBytes")

See Also:
WSSToken, Token

Nested Class Summary
 
Nested classes/interfaces inherited from class com.ibm.wsspi.wssecurity.auth.token.WSSToken
WSSToken.AttributesEnumerator
 
Field Summary
 
Fields inherited from class com.ibm.wsspi.wssecurity.auth.token.WSSToken
_attributes, _callerChecked, _error, _keyInfoType, _processed, _referenced, _tokenelem, _tokenId, _trusted, _usedTokenConsumer, _usedTokenGenerator, _usedToLogin, _version, _vtype
 
Constructor Summary
LTPAToken(java.lang.String tokenId, byte[] cred)
          Constructor
LTPAToken(java.lang.String tokenId, byte[] cred, java.lang.String username, char[] password, org.w3c.dom.Element elem)
          Constructor
 
Method Summary
 boolean equals(java.lang.Object o)
           
 byte[] getBytes()
          Returns the credential binary data of the LTPA token.
 long getExpiration()
          Returns the expiration of the credential.
 java.lang.String getPrincipal()
          Returns the username if set, otherwise null.
 java.lang.String getUniqueID()
           Returns a unique identifier of the token based upon information that the provider considers to be unique.
 int hashCode()
           
 boolean isValid()
          Returns if the token is valid or not.
 void setBytes(byte[] cred)
          Sets the credential binary data of the LTPA token.
 java.lang.String toString()
           
 
Methods inherited from class com.ibm.wsspi.wssecurity.auth.token.WSSToken
addAttribute, clone, getAttributeNames, getAttributes, getCallerChecked, getElement, getError, getId, getKeyInfoType, getName, getType, getUsedTokenConsumer, getUsedTokenGenerator, getUsedToLogin, getVersion, isForwardable, isProcessed, isReadOnly, isReferenced, isTrusted, setCallerChecked, setElement, setError, setId, setKeyInfoType, setProcessed, setReadOnly, setReferenced, setTrusted, setType, setType, setUsedTokenConsumer, setUsedTokenGenerator, setUsedToLogin
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LTPAToken

public LTPAToken(java.lang.String tokenId,
                 byte[] cred,
                 java.lang.String username,
                 char[] password,
                 org.w3c.dom.Element elem)
Constructor

Parameters:
tokenId - The token identifier
cred - A byte[] containing the credential
username - The username string; may be null if there is no username
password - The password as a char[]; may be null if there is no password
elem - A token element; may be null if there is no token element

LTPAToken

public LTPAToken(java.lang.String tokenId,
                 byte[] cred)
Constructor

Parameters:
tid - The token identifier
cred - A byte[] containing the credential
Method Detail

setBytes

public void setBytes(byte[] cred)
Sets the credential binary data of the LTPA token.

Parameters:
cred - The credential in the form of a byte[] Protected by com.ibm.websphere.security.WebSphereRuntimePermission("wssecurity.LTPAToken.setBytes")

getBytes

public byte[] getBytes()
Returns the credential binary data of the LTPA token.

Specified by:
getBytes in interface Token
Overrides:
getBytes in class WSSToken
Returns:
The credential binary data as a byte[] Protected by com.ibm.websphere.security.WebSphereRuntimePermission("wssecurity.LTPAToken.getBytes")

isValid

public boolean isValid()
Returns if the token is valid or not.

Returns:
True is valid, false otherwise
See Also:
Token.isValid()

getExpiration

public long getExpiration()
Returns the expiration of the credential.

Returns:
The credential expiration as a long
See Also:
Token.getExpiration()

getPrincipal

public java.lang.String getPrincipal()
Returns the username if set, otherwise null.

Returns:
The username
See Also:
Token.getPrincipal()

getUniqueID

public java.lang.String getUniqueID()
Description copied from interface: Token

Returns a unique identifier of the token based upon information that the provider considers to be unique. This will be used for caching purposes and may be used in combination with other token unique IDs that are part of the same Subject to form a Subject unique identifier.

An implementation of this method should be careful to only change the token uniqueness when required. Any login which generates a new unique ID will create a Subject entry in the cache, which will increase memory requirements.

This method should return null if the token does not need to affect the cache uniqueness. Typically, if using only static registry attributes, this should return null. However, if dynamic attributes are used including strength of authentication, time of day, etc. you may affect the cache uniqueness by returning a non-null value that reflects how you want the cache key too look. Typically, the token implementation will know what is most unique about the dynamic data, however, an alternative is to return a UUID. The values of getUniqueID() from all custom tokens present in the Subject will be added together and used in the SSO token for lookup. A one-way hash of this string will be created as the unique ID. When altering a token to contain a non-null value here, the token must be added to the Subject prior to the commit phase or before the wsMap module commit is called.

Returns:
String

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

IBM WebSphere Application ServerTM
Release 7