Implement single sign-on to minimize Web user authentications

 

+

Search Tips   |   Advanced Search

 

 

With SSO support, Web users can authenticate once when accessing Web resources across multiple WAS servers. Form login mechanisms for Web applications require that SSO is enabled. Use this topic to configure single sign-on for the first time.

SSO is supported only when LTPA is the authentication mechanism.

When SSO is enabled, a cookie is created containing the LTPA token and inserted into the HTTP response. When the user accesses other Web resources in any other WAS process in the same DNS domain, the cookie is sent in the request. The LTPA token is then extracted from the cookie and validated. If the request is between different cells of WAS servers, share the LTPA keys and the user registry between the cells for SSO to work. The realm names on each system in the SSO domain are case sensitive and must match identically.

[Windows] For local OS, the realm name is the domain name if a domain is in use. If a domain is not used, the realm name is the machine name.

[Linux]

[AIX HP-UX Solaris] The realm name is the same as the host name.

For the LDAP the realm name is the host:port realm name of the LDAP server. The LTPA authentication mechanism requires that you enable SSO if any of the Web applications have form login as the authentication method.

Because single sign-on is a subset of LTPA, it is recommended that you read LTPA for more information. When you enable security attribute propagation, the following cookies are added to the response:

LtpaToken

LtpaToken is used for inter-operating with previous releases of WebSphere Application Server. This token contains the authentication identity attribute only.

LtpaToken2

LtpaToken2 contains stronger encryption and enables you to add multiple attributes to the token. This token contains the authentication identity and additional information such as the attributes that are used for contacting the original login server and the unique cache key for looking up the Subject when considering more than just the identity in determining uniqueness.
For more information, see Security attribute propagation.

LtpaToken is generated for releases prior to WAS V5.1.1. LtpaToken2 is generated for WAS V5.1.1 and beyond.

Token type Purpose How to specify
LtpaToken only This token type is used for the same SSO behavior existing in WAS V5.1 and previous releases. Also, this token type is interoperable with those previous releases. Disable the Web inbound security attribute propagation option, which is located in the SSO configuration panel in the console.

To access this panel...

  1. Click...

    Security | Secure administration, applications, and infrastructure | Web security | Single sign-on (SSO)

LtpaToken2 only This token type is used for Web inbound security attribute propagation and uses the AES, CBC, PKCS5 padding encryption strength (128-bit key size). However, this token type is not interoperable with releases prior to WAS V5.1.1. The token type supports multiple attributes that are specified in the token, mostly containing information to contact the original login server. Enable the Web inbound security attribute propagation option in the SSO configuration panel within the console. Disable the Interoperability mode option in the SSO configuration panel within the console. To access this panel...

  1. Click Security > Secure administration, applications, and infrastructure.

  2. Under Web security, click Single sign-on (SSO).

LtpaToken and LtpaToken2 These tokens together support both of the previous two options. The token types are interoperable with releases prior to WAS V5.1.1 because LtpaToken is present. The security attribute propagation function is enabled because the LtpaToken2 is present. Enable the Web inbound security attribute propagation option in the SSO configuration panel within the console. Enable the Interoperability mode option in the SSO configuration panel within the console. To access this panel...

  1. Click...

    Security | Secure administration, applications, and infrastructure | Web security Single sign-on (SSO)

 

Overview

The following steps are required to configure SSO for the first time.

 

Procedure

  1. Open the console.

    http://hostname:9060/ibm/console

  2. Click...

    Security | Secure administration, applications, and infrastructure | Web security | Single sign-on (SSO)

  3. Click the Enabled option if SSO is disabled.

  4. Click "Requires SSL" if all of the requests are expected to use HTTPS.

  5. Enter the fully qualified domain names in the Domain name field where SSO is effective.

    If the domain name is not fully qualified, WAS does not set a domain name value for the LtpaToken cookie and SSO is valid only for the server that created the cookie.

    When you specify multiple domains, you can use the following delimiters:

    • semicolon (;)
    • space ( )
    • comma (,)
    • pipe (|)

    WAS searches the specified domains in order from left to right. Each domain is compared with the host name of the HTTP request until the first match is located.

    For example, if you specify...

    ibm.com; austin.ibm.com

    ...and a match is found in the ibm.com domain first, WebSphere Application server does not continue to search for a match in the austin.ibm.com domain. However, if a match is not found in either the ibm.com or austin.ibm.com domains, then WAS does not set a domain for the LtpaToken cookie.

    You can configure the Domain name field using any of the following values:

    Domain name value type Example Purpose
    Blank   The domain is not set. This causes the browser to set the domain to the request host name. The sign-on is valid on that single host only.
    Single domain name austin.ibm.com If the request is to a host within the configured domain, the sign-on is valid for all hosts within that domain. Otherwise, it is valid on the request host name only.
    UseDomainFromURL UseDomainFromURL If the request is to a host within the configured domain, the sign-on is valid for all hosts within that domain. Otherwise, it is valid on the request host name only.
    Multiple domain names austin.ibm.com;raleigh.ibm.com The sign-on is valid for all hosts within the domain of the request host name.
    Multiple domain names and UseDomainFromURL austin.ibm.com;raleigh.ibm.com; UseDomainFromURL The sign-on is valid for all hosts within the domain of the request host name.

    If you specify the UseDomainFromURL, WAS sets the SSO domain name value to the domain of the host that makes the request.

    For example, if an HTTP request comes from...

    server1.raleigh.ibm.com

    WebSphere Application Server sets the SSO domain name value to...

    raleigh.ibm.com

    The value, UseDomainFromURL, is case insensitive. You can type usedomainfromurl to use this value.

    For more information, see Single sign-on settings.

  6. Optional: Enable the Interoperability mode option if you want to support SSO connections in WAS version 5.1.1 or later to interoperate with previous versions of the appserver.

    This option sets the old-style LtpaToken token into the response so it can be sent to other servers that work only with this token type. However, this option applies only when the Web inbound security attribute propagation option is enabled. In this case, both the LtpaToken and LtpaToken2 tokens are added to the response. Otherwise, only the LtpaToken2 token is added to the response. If the Web inbound security attribute propagation option is disabled, then only the LtpaToken token is added to the response.

  7. Optional: Enable the Web inbound security attribute propagation option if you want information added during the login at a specific front-end server to propagate to other front-end servers. The SSO token does not contain any sensitive attributes, but does understand where the original login server exists in cases where it needs to contact that server to retrieve serialized information. It also contains the cache look-up value for finding the serialized information in DynaCache, if both front-end servers are configured in the same DRS replication domain. For more information, see Security attribute propagation.

    If the following statements are true, it is recommended that you disable the Web inbound security attribute propagation option for performance reasons:

    • You do not have any specific information added to the Subject during a login that cannot be obtained at a different front-end server.

    • You did not add custom attributes to the PropagationToken token using WSSecurityHelper APIs.

    If you find that you are missing custom information in the Subject, re-enable the Web inbound security attribute propagation option to see if the information is propagated successfully to other front-end appservers. If you disable SSO, but use a trust association interceptor instead, you might still need to enable the Web inbound security attribute propagation option if you want to retrieve the same Subject generated at different front-end servers.

  8. Click OK.

 

What to do next

For the changes to take effect, save, stop, and restart all the product deployment managers, nodes, and servers.



Configure single sign-on capability with SPNEGO TAI
Configure single sign-on capability with Tivoli Access Manager or WebSEAL

 

Related concepts


Web component security
LTPA
Security attribute propagation

 

Related tasks


Enabling security
Configure the LTPA mechanism
Authenticating users

 

Related Reference


Single sign-on configuration troubleshooting tips
Security: Resources for learning