Before you begin
Important distinction between Version 5.x and Version 6.0.x applications
Note: The
information in this article supports version
5.x applications only that are used with WebSphere Application Server Version
6. The information does not apply to version 6.0.x applications.
Prior
to completing these steps, it is assumed that you have already created a Web
services-enabled Java 2 Platform, Enterprise Edition (J2EE) with a Web Services
for J2EE (JSR 109) enterprise application. If not, see
Developing Web services applications to create Web services-enabled J2EE
with a JSR 109 enterprise application. See either of the following topics
for an introduction of how to manage Web services security binding information
for the server:
Why and when to perform this task
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 you deployed a Web services-enabled
enterprise application to the WebSphere Application Server.
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 WebSphere Application Server Administrative Console.
- Click Applications > Enterprise applications > enterprise_application.
- Under Related items, click either EJB modules or Web modules
> URI. The URI is the Web services-enabled module
- Under Additional properties, click Web services: client security bindings to
edit the response sender binding information, if Web services is 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 Additional 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 JAAS Configuration > Application Logins. For more information,
see Configuring application logins for Java Authentication and Authorization
Service.
- 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",
these 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 .
Result
The previous steps define how to configure the request
sender to create security tokens in the Simple Object Access Protocol (SOAP)
message and the request receiver to validate the security tokens found in
the incoming SOAP message. WebSphere Application Server supports pluggable
security tokens.
You can 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
Once you have configured pluggable tokens, you must
configure both the client and the server to support pluggable tokens. See
the following topics to configure the client and the server: