Configure pluggable tokens using the administrative console
We can configure the client-side request sender (ibm-webservicesclient-bnd.xmi file) or server-side request receiver (ibm-webservices-bnd.xmi file) using the WebSphere Application Server administrative console.
Prior to completing these steps, it is assumed that we have already created a web service based on the Java EE specification. See either of the following topics for an introduction of how to manage Web Services Security binding information for the server:
- Configure the server security bindings using an assembly tool
- Configure the server security bindings
This document describes how to configure a pluggable token in the request sender (ibm-webservicesclient-ext.xmi and ibm-webservicesclient-bnd.xmi file) and request receiver (ibm-webservices-ext.xmi and ibm-webservices-bnd.xmi file).
Important: The pluggable token is required for the request sender and request receiver as they are a pair. The request sender and the request receiver must match for a request to be accepted by the receiver.
Prior to completing these steps, it is assumed that we deployed a web services-enabled enterprise application to the WAS.
Use the following steps to configure the client-side request sender (ibm-webservicesclient-bnd.xmi file) or server-side request receiver (ibm-webservices-bnd.xmi file) using the WAS administrative console.
- Click Applications > Application Types > WebSphere enterprise applications > enterprise_application.
- Under Modules, click Manage modules > URI_name. The URI is the web services-enabled module.
- Under Web Services Security Properties, click Web services: client security bindings to edit the response sender binding information, if web services are acting as client.
- Under Response sender binding, click Edit.
- Under Additional Properties, click Login binding.
- Select Dedicated login binding to define a new login binding.
- Enter the authentication method, this must match the authentication method defined in IBM extension deployment descriptor. The authentication method must be unique in the binding file.
- Enter an implementation of the JAAS javax.security.auth.callback.CallbackHandler interface.
- Enter the basic authentication information (User ID and Password) and the basic authentication information is passed to the construct of the CallbackHandler implementation. The usage of the basic authentication information is up to the implementation of the CallbackHandler.
- Enter the token value type, it is optional for BasicAuth, Signature and IDAssertion authentication methods but required for any other authentication method. The token value type is inserted into the <wsse:BinarySecurityToken>@ValueType for binary security token and used as the namespace of the XML based token.
- Click Properties. Define the property with name and value pairs. These pairs are passed to the construct of the CallbackHandler implementation as java.util.Map.
Select None to deselect the login binding.
- Under Web Services Security Properties, click Web services: server security bindings to edit the request receiver binding information.
- Under Request Receiver Binding, click Edit.
- Under Additional Properties, click Login mappings.
- Click New to create new login mapping.
- Enter the authentication method, this must match the authentication method defined in the IBM extension deployment descriptor. The authentication method must be unique in the login mapping collection of the binding file.
- Enter a JAAS Login Configuration name. The JAAS Login Configuration must be defined under Security > Global security. Under Authentication, click Java Authentication and Authorization Service > Application logins. See configuring programmatic logins for JAAS.
- Enter an implementation of the com.ibm.wsspi.wssecurity.auth.callback.CallbackHandlerFactory interface. This is a mandatory field.
- Enter the token value type, it is optional for BasicAuth, Signature and IDAssertion authentication methods but required for any other authentication method. The token value type is used to validate against the <wsse:BinarySecurityToken>@ValueType for binary security token and against the namespace of the XML based token.
- Enter the name and value pairs for the Login Mapping Property by clicking Properties . These name and value pairs are available to the JAAS Login Module or Modules by com.ibm.wsspi.wssecurity.auth.callback.PropertyCallback JAAS Callback. Note: This is true when editing existing login mappings but not when creating new login mappings.
- Enter the name and value pairs for the Callback Handler Factory Property, this, name and value pairs is passed as java.util.Map to the com.ibm.wsspi.wssecurity.auth.callback.CallbackHandlerFactory.init() method. The usage of these name and value pairs is up to the CallbackHandlerFactory implementation.
- Click authentication method link to edit the selected login mapping.
- Click Remove to remove the selected login mapping or mappings.
- Click Save.
The previous steps define how to configure the request sender to create security tokens in the SOAP message and the request receiver to validate the security tokens found in the incoming SOAP message. WAS supports pluggable security tokens.
Use the authentication method defined in the login bindings and login mappings to generate security tokens in the request sender and validate security tokens in the request receiver.
What to do next
After we have configured pluggable tokens, configure both the client and the server to support pluggable tokens. See the following topics to configure the client and the server:
- Configure the client for LTPA token authentication: specifying LTPA token authentication
- Configure the client for LTPA token authentication: collecting the authentication method information
- Configure the server to handle LTPA token authentication information
- Configure the server to validate LTPA token authentication information
Related:
Pluggable token support Overview of authentication methods Binary security token XML token Username token Security token Overview of token types Configure pluggable tokens using an assembly tool Configure programmatic logins for JAAS