Trust association enables the integration of WebSphere® Application Server security and third-party security servers. Demand for an integrated configuration is compelling, especially when a single product cannot meet all of the needs of a specific web environment or when migration is not a viable solution.
When you use trust association, the third-party security server authenticates the user, then WebSphere Application Server can authorize the user and take advantage of its fine-grained access control.
Example uses of trust association are web single sign-on (SSO) and reverse proxy. Examples of web SSO are SAML web SSO and OpenId Connect (OIDC). For reverse proxy, a reverse proxy server acts as a front-end authentication server and forwards credentials to WebSphere Application Server in the form of a header that a trust association interceptor (TAI) can consume. In the web SSO scenario, the TAI is directly involved in the authentication process. In either case, after the TAI authentication is complete, WebSphere Application Server then applies its authorization policy onto the resulting credentials.
Authentication and authorization with Trust Association Interceptors
When trust association is enabled, WebSphere Application Server invokes
initialize method for each configured TAI during server startup. Whenever the
initialized server receives a web request for a URL that has a security-constraint with a
role-requirement, the server invokes the
isTargetInterceptor method for each TAI.
This method determines which TAI can service the request. If all of the
isTargetInterceptor methods return
false, web authentication
proceeds through the standard Java EE flow. When an
true, the server invokes the
negotiateValidateAndEstablishTrust method for the TAI so that the TAI can attempt
to authenticate the request.
After a successful authentication, the WebSphere Application Server authorization proceeds in the same manner as a Java EE web login. The username and any group names are evaluated against the security role to user or group mappings within the application configuration. If a match is found, the Subject is mapped to the matched role. The server can then determine whether the Subject has the required role for the requested URL.
Trust association interceptor interface
The intent of the trust association interceptor interface is to allow interceptors to perform authentication, while WebSphere Application Server enforces authorization and further fine-grained access control. The interceptor can be a web SSO or reverse proxy client. The trust association interface is com.ibm.wsspi.security.tai.TrustAssociationInterceptor.