+

Search Tips   |   Advanced Search

 

Single sign-on for HTTP requests using SPNEGO

 

WAS provides a trust association interceptor (TAI) that uses the Simple and Protected GSS-API Negotiation Mechanism (SPNEGO) to securely negotiate and authenticate HTTP requests for secured resources in WAS.

SPNEGO is a standard specification defined in The Simple and Protected GSS-API Negotiation Mechanism (IETF RFC 2478).

When administrative security is enabled, the SPNEGO TAI is initialized. While processing inbound HTTP requests, the Web authenticator component interacts with the SPNEGO TAI, which is defined and enabled in the security configuration repository. One interceptor is selected and is responsible for authenticating access to the secured resource that is identified in the HTTP request.

The use of TAIs is an optional feature. If no TAI is selected, the authentication process continues normally.

HTTP users log in and authenticate only once at their desktop and are subsequently authenticated (internally) with WAS. The SPNEGO TAI is invisible to the end-user of WebSphere applications. The SPNEGO TAI is only visible to the Web administrator who is responsible for ensuring a proper configuration, capacity, and maintenance of the Web environment.

In addition to WAS security runtime services, some external components are required to completely enable operation of the SPNEGO TAI.

The authentication of HTTP requests is triggered by the requestor (the client-side), which generates a SPNEGO token. WAS receives this token and validates trust between the requester and WebSphere Application Server. Specifically, the SPNEGO TAI decodes and retrieves the requester's identity from the SPNEGO token. The identity is used to establish a secure context between the requester and the appserver.

The SPNEGO TAI is a server-side solution in WAS. Client-side applications are responsible for generating the SPNEGO token for use by the SPNEGO TAI. The requester's identity in WAS security registry must be identical to that identity the SPNEGO TAI retrieves. An identical match does occur when Microsoft Windows Active Directory server is the LDAP server used in WAS.

A custom login module is available as a plug-in to support custom mapping of the identity from the Active Directory to the WebSphere Application Server security registry.

WAS validates the identity against its security registry and, if the validation is successful, produces a security token and places and returns a cookie to the requester in the HTTP response. Subsequent HTTP requests from this same requester to access additional secured resources in WAS use the LTPA security token previously created, to avoid repeated login challenges.

The challenge-response handshake process is illustrated in the following graphic:

The SPNEGO TAI can be enabled for all or for selected WebSphere Application Servers in a WAS cell configuration. The behavior of each SPNEGO TAI instance is controlled by custom configuration properties that are used to identify, for example, the criteria used to filter HTTP requests, such as the host name and security realm name used to construct the Kerberos Service Principal Name (SPN).

The Web administrator has access to the following SPNEGO TAI security components and associated configuration data, as illustrated in the following graphic.

The benefits of having WAS use the SPNEGO TAI include:

Using the SPNEGO TAI in your WAS environment requires planning then implementation.

Implementing the use of the SPNEGO TAI is divided into the following areas of responsibility:

End user

The end user must configure the Web browser or .NET application to issue HTTP requests that are processed by the SPNEGO TAI.

Web administrator

The Web administrator is responsible for configuring the SPNEGO TAI of WAS to respond to HTTP requests of the client.

WAS administrator

The WAS administrator is responsible for configuring WAS and the SPNEGO TAI for optimum installation performance.



Sub-topics


SPNEGO TAI configuration requirements

 

Related concepts

Single sign-on
Configure WAS environment to use SPNEGO
Configure single sign-on capability with SPNEGO TAI
Creating the Kerberos keytab file
Filtering HTTP requests for SPNEGO TAI
Mapping user Ids from client to server for SPNEGO
Kerberos configuration requirements for SPNEGO TAI
Configure the Kerberos configuration properties
SPNEGO TAI JVM configuration attributes
SPNEGO TAI custom configuration attributes
The Simple and Protected GSS-API Negotiation Mechanism (IEFT RFC 2478)
Single Sign-on Using Kerberos in Java
Kerberos: The Network Authentication Protocol