Previous Topic: Define Indexed Endpoints for the Assertion Consumer Service

Next Topic: Define Indexed Endpoints for Different Single Sign-on Bindings

Indexed Endpoints Flow Diagram

The following illustration shows how single sign-on works using an indexed endpoint.

SM--Indexed Endpoints Flow Diagram

Note: The Web Agent Option Pack or the SPS federation gateway can provide the FWS functionality.

Using indexed endpoints, the sequence of events is as follows:

  1. The user selects a link to authenticate with a specific IdP. The link contains the IdP ID and AssertionConsumerServiceIndex query parameters index as query parameters because the index feature is enabled.
  2. The SP Federation Web Services (FWS) application asks for an AuthnRequest from its local Policy Server. In the request it sends, it includes the IdP ID and optionally, the AssertionConsumerServiceIndex and ForceAuthn query parameters.

    A protocol binding is not part of the request because the ACS Index and the Protocol Binding parameters are mutually exclusive. The AssertionConsumerServiceIndex is already associated with a binding so there is no need to specify a Protocol Binding value. If the protocol binding and the AssertionConsumerServiceIndex are passed as query parameters, the local Policy Server responds with an error denying the request.

  3. The AuthnRequest service extracts the IdP information from the SP Policy Server and generates the AuthnRequest message, which includes the AssertionConsumerServiceIndex. Because the AssertionConsumerServiceIndex is one of the query parameters, its value is verified against the IdP metadata collected from an IdP descriptor document. This document is previously sent from the IdP to the SP.

    The AuthnRequest service reacts as follows:

  4. Assuming that the IdP metadata index and AssertionConsumerServiceIndex values match, the SP Policy Server generates the AuthnRequest.
  5. The SP Policy Server returns the AuthnRequest in an HTTP-redirect binding.
  6. The the SP FWS application redirects the AuthnRequest to the single sign-on service at the IdP. The SP knows the URL of the single sign-on service because the URL is part of the configuration information in the AuthnRequest.
  7. The browser requests the single sign-on service.
  8. The single sign-on service extracts the AssertionConsumerServiceIndex value from the AuthnRequest. The service determines the Assertion Consumer Service URL based on the AssertionConsumerServiceIndex, unless the value of the Index is not found in the SP metadata. If the Index is not found, an error is generated stating that an invalid AssertionConsumerServiceIndex is specified in the AuthnRequest message.

    The Assertion Consumer URL to send the assertion or artifact to the SP, depending on the single sign-on profile in use.

    Note: If the AssertionConsumerServiceIndex parameter is not in the AuthnRequest, the value of the Assertion Consumer Service and the corresponding binding are used by default.