Use the default single sign-on token with default or custom token factory to propagate security attributes
Do not use the default single sign-on token in service provider code. This default token is used by the WAS run-time code only.
Size limitations exist for this token when it is added as an HTTP cookie. If we need to create an HTTP cookie using this token framework, we can implement a custom single sign-on token. To implement a custom single sign-on token see Implement a custom single sign-on token for security attribute propagation for more information.
- Modify the single sign-on token factory configuration to use a token factory other than the default token factory.
When the default single sign-on token is generated, the application server utilizes the TokenFactory class specified using the com.ibm.wsspi.security.token.singleSignonTokenFactory property. Use the console to modify the property.
The com.ibm.ws.security.ltpa.LTPAToken2Factory token factory is the default specified for this property. This token factory creates a single sign-on (SSO) token called LtpaToken2, which WAS uses for propagation. This token factory uses the AES/CBC/PKCS5Padding cipher.
- Open the console.
- Click Security > Global security > Authentication, click Custom properties.
- Perform our own signing and encryption of the default single sign-on token.
If we need to perform our own signing and encryption of the default single sign-on token, you must implement the following classes:
- com.ibm.wsspi.security.ltpa.Token
- com.ibm.wsspi.security.ltpa.TokenFactory
Your token factory implementation instantiates (createToken) and validates (validateTokenBytes) the token implementation. We can use the LTPA keys passed into the initialize method of the token factory or we can use our own keys. If we use our own keys, they must be the same everywhere to validate the tokens that are generated using those keys. See the API reference information for more information on implementing our own custom token factory.
- Associate our own token factory with the default single sign-on token.
- Open the console.
- Click Security > Global security > Authentication, click Custom properties.
- Locate the com.ibm.wsspi.security.token.singleSignonTokenFactory property and verify that the value of this property matches the custom TokenFactory implementation.
- Verify that the implementation classes are put into the app_server_root/classes directory so that the WAS class loader can load the classes.
- (dist)(zos) Verify that the implementation classes are located in the ${USER_INSTALL_ROOT}/classes directory so that the WAS class loader can load the classes.
- (iseries) Verify that the QEJBSVR user profile has read, write, and execute (*RWX) authority to the classes directory. We can use the Work with Authority (WRKAUT) command to view the authority permissions for the directory.
Related tasks
Propagating security attributes among application servers Implement a custom single sign-on token for security attribute propagation