The Incommon Federation wiki has moved.

Please visit the new InCommon Federation Library wiki for updated content. Remember to update your bookmarks.

Click in the link above if you are not automatically redirected in 15 seconds.



You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

This page shows how to migrate a production SP deployment to support SAML V2.0 Web Browser SSO. We assume the SP deployment is currently consuming SAML V1.1 assertions and has the ability to issue SAML V2.0 requests and consume SAML V2.0 assertions.

Generally speaking, before making any changes to the software configuration, an SP's metadata is updated for SAML V2.0 and allowed to propagate throughout the Federation. Since Web Browser SSO almost always begins at the SP, exposing endpoints in SP metadata that are not supported in software is usually harmless. On the other hand, issuing SAML V2.0 requests without appropriate SAML V2.0 endpoints in metadata is a recipe for disaster!

Upgrading the SP

Preconditions:

  • The SP deployment is currently in production
  • The SP deployment is currently consuming SAML V1.1 assertions
  • The SP software supports both SAML V1.1 and SAML V2.0 Web Browser SSO

Procedure:

  1. Update the metadata for SAML V2.0
    • Add one or more SAML V2.0 endpoints to metadata
    • Add an encryption key to metadata (if necessary)
  2. Wait for the newly updated metadata to propagate throughout the Federation
  3. Configure the software for SAML V2.0 Web Browser SSO
    • Configure the software with the corresponding decryption key (if necessary)
    • Configure the software to issue SAML V2.0 authentication requests
    • Configure the software to consume SAML V2.0 assertion responses

Procedural details:

Metadata is updated at step 1 in advance of migrating to SAML V2.0. First add one or more SAML V2.0 endpoints to metadata, including at least one <md:AssertionConsumerService> endpoint and at least one <idpdisc:DiscoveryResponse> endpoint. See the comprehensive wiki topic on SP Endpoints for requirements and recommendations.

Since a SAML V2.0 IdP typically encrypts assertions transmitted through the browser, the SP is obliged to add an encryption key to metadata as well. In the InCommon Federation, this will already be done since a key in SP metadata is designated as a multiple use key by default. (See the wiki topic on Key Usage for details.)

At step 2, you must wait for the new metadata to propagate before continuing with the remaining steps. We recommend you wait three (3) days for the metadata to propagate, but you may have to wait longer.

At step 3, begin by configuring the software with the private decryption key corresponding to the public encryption key in metadata. If an encryption key was already in metadata when you started this procedure, perhaps the decryption key is likewise already configured in software. Double-check your configuration to be sure.

The software is also configured to issue SAML V2.0 authentication requests and consume SAML V2.0 assertion responses at step 3. One or more endpoint configurations are required, depending on the <md:AssertionConsumerService> endpoint(s) added to metadata at step 1.

Testing the SP

Once the SP has been upgraded to SAML V2.0, a natural tendency is test the complete, end-to-end flow. If this works, we're done, but if it doesn't, more targeted testing may be required to isolate the problem:

  1. Test the SP's ability to consume a SAML V2.0 assertion response
  2. Test the SP's ability to issue a SAML V2.0 authentication request
  3. Test the SP's ability to issue a SAML V2.0 Identity Provider Discovery Protocol request

Such tests limit the scope of the problem and therefore make bugs easier to find.

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels