The InCommon Discovery Service is now operational!

Here is a projected timeline

  1. \[Wed, Nov 17, 2010\] Pre-production Discovery Service released
  2. \[Wed, Dec 15, 2010\] Production Discovery Service released
  3. \[Wed, Jan 12, 2011\] Redirect from the WAYF to the Discovery Service

Once the redirect from the WAYF to the Discovery Service is installed (Jan 12), support for the InCommon WAYF will be discontinued. See the FAQ below for details how to configure a Shibboleth SP to use the InCommon Discovery Service instead of the InCommon WAYF.

Try out the new InCommon Discovery Service: https://service1.internet2.edu/test
Send comments, feedback and questions to: discovery@incommon.org

Frequently Asked Questions


<ul>
  <li>
    <i>What is a "discovery service?"</i>

<div>
  <br>
  Generally speaking, a <i>discovery service</i> is a solution to the <a href=https://spaces.at.internet2.edu/display/SHIB2/IdPDiscovery id=xpcs title="identity provider discovery">identity provider discovery</a> problem, a longstanding issue in the federated identity management space. As the term is used here, a <i>discovery service</i> provides a browser-based interface where a user selects his or her home organization (i.e., identity provider). A service provider uses this information to initiate SAML Web Browser SSO.<br>
  <br>
  The phrase "Where Are You From?" (WAYF) is often used to characterize IdP discovery. Historically, the term "WAYF" has referred to both software and protocol. The WAYF software has all but been eliminated by newer discovery service implementations (such as the InCommon Discovery Service), but the WAYF protocol lives on, mainly for backwards compatibility with SAML&nbsp;V1.1.<br>
  <br>
  In addition to the legacy WAYF protocol, a discovery service implements the <i><a href=http://wiki.oasis-open.org/security/IdpDiscoSvcProtonProfile id=zw84 title="SAML V2.0 Identity Provider Discovery Protocol">SAML V2.0 Identity Provider Discovery Protocol</a></i>. This protocol differs from the WAYF protocol in one very important respect. Whereas the WAYF protocol forwards an authentication request directly to the identity provider, the <i>Identity Provider Discovery Protocol</i> returns control to the service provider, which provides increased flexibility, privacy and security.<br>
  <br>
  To learn how a discovery service works, the SWITCH federation has an <a href=http://www.switch.ch/aai/demo/ id=a_-o title="excellent series of demos">excellent series of demos</a> that describe and illustrate how a discovery service integrates into a typical SAML flow.
</div>

  </li>
</ul>

<ul>
  <li>
    <i>What is the InCommon Discovery Service?</i>

<div>
  <br>
  The <i>InCommon Discovery Service</i> is a deployment of the <i><a href=https://forge.switch.ch/redmine/projects/wayf id=n3cb title=SWITCHwayf>SWITCHwayf</a></i> software implementation, a <a href=http://www.switch.ch/aai/support/tools/wayf.html id=yaf: title="software project">software project</a> of the SWITCH federation.<br>
  <br>
  <b>IMPORTANT!</b> The InCommon Discovery Service is a <b>pre-production test deployment</b> of the SWITCHwayf software implementation.<br>
  <br>
  The InCommon Discovery Service will eventually replace the InCommon WAYF (Where Are You From?) with a Federation-wide discovery service that supports the <i><a href=http://wiki.oasis-open.org/security/IdpDiscoSvcProtonProfile id=f8p9 title="SAML V2.0 Identity Provider Discovery Protocol and Profile">SAML V2.0 Identity Provider Discovery Protocol and Profile</a></i>. To ease the transition from the WAYF, the InCommon Discovery Service is backwards compatible with the InCommon WAYF.
</div>

  </li>
</ul>

<ul>
  <li>
    <i>Why is InCommon replacing the WAYF with the Discovery Service?</i>

<div>
  <br>
  The current InCommon WAYF is not compatible with SAML&nbsp;V2.0. As Shibboleth&nbsp;1.x is no longer supported by the Shibboleth Project, more organizations will be moving to Shibboleth&nbsp;2.x and expecting to make use of SAML 2.0 features. In addition, the production version of the InCommon Discovery Service will leverage metadata, providing additional flexibility, privacy and security that the InCommon WAYF does not provide.
</div>

  </li>
</ul>

<ul>
  <li>
    <i>Why is the InCommon Discovery Service a pre-production service at this time?</i>

<div>
  <br>
  The user interface of the pre-production InCommon Discovery Service is experimental. The production service will incorporate the feedback received from the community during the pre-production phase.<br>
  <br>
  The pre-production InCommon Discovery Service does not currently take advantage of Federation metadata. The production service will leverage Federation metadata to increase the flexibility, privacy and security of the deployment.<br>
  <br>
  In this pre-production phase, there is no standby InCommon Discovery Service to fail over in case of an outage.<br>
</div>

  </li>
</ul>

<ul>
  <li>
    <i>What does the InCommon Discovery Service look like?</i>
    <br><br>Here's a recent screen shot of the InCommon Discovery Service:
  </li>
</ul>

<div>
  <img src="/download/attachments/17105174/dm8mb2j_1f7bntqcq_b.jpg">
</div>

<ul>
  <li>
    <i>Which SAML Service Provider implementations support the InCommon Discovery Service?</i>

<div>
  <br>
  The InCommon Discovery Service works with <b>all</b> supported versions of the Shibboleth Service Provider software. To use the native <i>SAML&nbsp;V2.0 Identity Provider Discovery Protocol</i>, Shibboleth SP version&nbsp;2.0 (or later) is required.<br>
  <br>
  The InCommon Discovery Service is known to work with simpleSAMLphp version&nbsp;1.1 or later, but this has not been tested by InCommon.<br>
  <br>
  There may be other SP implementations that support the InCommon Discovery Service. If you find one that does, please share your experiences with us (discovery@incommon.org).<br>
</div>

  </li>
</ul>

<ul>
  <li>
    <i>If my SAML Service Provider implementation supports an "embedded discovery service," do I still need to be concerned about the InCommon Discovery Service?</i>

<div>
  <br>
  The InCommon Discovery Service is a centralized discovery service for general use within the InCommon Federation. For those service providers that provide their own discovery service, through an embedded service or some other centralized service, the InCommon Discovery Service may not be applicable. How you handle discovery in conjunction with particular federated services at your institution is completely up to you.<br>
  <br>
  That said, it is well known that embedded discovery provides the best overall experience for users, so you should by all means consider that as an alternative to centralized services such as the InCommon Discovery Service.<br>
</div>

  </li>
</ul>

<ul>
  <li>
    <i>What do I need to do?</i>

<div>
  <br>
  First and foremost, try it out and give us your feedback (discovery@incommon.org).<br>
  <br>
  <b>All</b> Service Provider deployments should reconfigure their software to point at the InCommon Discovery Service instead of the InCommon WAYF. The latter will be phased out and retired early in 2011.<br>
  <br>
  Consult the Shibboleth documentation for instructions how to configure a Shibboleth&nbsp;2.x SP <a href=https://spaces.at.internet2.edu/display/SHIB2/NativeSPSessionInitiator id=c0k2 title=SessionInitiator>SessionInitiator</a> with one or more discovery handlers. Once you've configured (and tested) your Shibboleth&nbsp;2.x SP to use the InCommon Discovery Service, update your InCommon Federation metadata to include the <font face="courier new">&lt;DiscoveryResponse&gt;</font> endpoints that are required to use the service with SAML&nbsp;V2.0 Web Browser SSO.<br>
</div>

  </li>
</ul>

<ul>
  <li>
    <i>Where can I try out the new InCommon Discovery Service?</i>

<div>
  <br>
  Please visit this test page: <a href=https://service1.internet2.edu/test/ id=o_xe title=https://service1.internet2.edu/test/>https://service1.internet2.edu/test/</a><br>
</div>

  </li>
</ul>

<ul>
  <li>
    <i>How do I configure a Shibboleth&nbsp;1.x SP to use the InCommon Discovery Service instead of the InCommon WAYF?</i>

<div>
  <br>
  <b>Note:</b> As of June&nbsp;30, 2010, Shibboleth&nbsp;1.x is no longer supported by the Shibboleth Project, so you should upgrade your software as soon as possible.<br>
  <br>
  A Shibboleth&nbsp;1.x SP cannot take advantage of all the features of the new InCommon Discovery Service, so we recommend you upgrade your Shibboleth SP deployment as soon as you can. In the meantime, you can (and should) reconfigure your Shibboleth&nbsp;1.x SP to use the InCommon Discovery Service instead of the InCommon WAYF. The latter will be phased out and retired early in 2011.<br>
  <br>
  If you're already using the InCommon WAYF, you will find something like this in your <a href=https://spaces.at.internet2.edu/display/SHIB/SessionInitiator id=r20z title="SP 1.x configuration">SP&nbsp;1.x configuration</a> file (shibboleth.xml):<br>
  <br>
</div>
<div>
  <font face="courier new">&lt;SessionInitiator id="wayf" Location="/WAYF/InCommon"</font><br style="FONT-FAMILY:Courier New">
  <font face="courier new">&nbsp;&nbsp;&nbsp;&nbsp; Binding="urn:mace:shibboleth:sp:1.3:SessionInit"</font><br style="FONT-FAMILY:Courier New">
  <font face="courier new">&nbsp;&nbsp;&nbsp;&nbsp; wayfURL="https://wayf.incommonfederation.org/InCommon/WAYF"</font><br style="FONT-FAMILY:Courier New">
  <font face="courier new">&nbsp;&nbsp;&nbsp;&nbsp; wayfBinding="urn:mace:shibboleth:1.0:profiles:AuthnRequest" /&gt;</font><br style="FONT-FAMILY:Courier New">
</div>
<div>
  <br>
  To point your SP at the new Discovery Service endpoint, make the following configuration change:<br>
  <br>
</div>
<div style="FONT-FAMILY:Courier New">
  &lt;SessionInitiator id="wayf" Location="/WAYF/InCommon"<br>
  &nbsp;&nbsp;&nbsp;&nbsp; Binding="urn:mace:shibboleth:sp:1.3:SessionInit"<br>
  &nbsp;&nbsp;&nbsp;&nbsp; wayfURL="<b>https://wayf.incommonfederation.org/DS</b>"<br>
  &nbsp;&nbsp;&nbsp;&nbsp; wayfBinding="urn:mace:shibboleth:1.0:profiles:AuthnRequest" /&gt;<br>
</div>
<div>
  <br>
  Since the InCommon Discovery Service is backwards compatible with the InCommon WAYF, the above configuration should work exactly the same as before.<br>
</div>

  </li>
</ul>

<ul>
  <li>
    <i>How do I configure a Shibboleth&nbsp;2.x SP to use the InCommon Discovery Service instead of the InCommon WAYF?</i>

<div>
  <br>
  In the very least, you should reconfigure your Shibboleth&nbsp;2.x SP to use the InCommon Discovery Service instead of the InCommon WAYF. The latter will be phased out and retired early in 2011.<br>
  <br>
  If you're already using the InCommon WAYF, you will find something like this in your <a href=https://spaces.at.internet2.edu/display/SHIB2/NativeSPShibbolethXML id=f_-. title="SP 2.x configuration">SP&nbsp;2.x configuration</a> file (shibboleth2.xml):<br>
  <br>
</div>
<div style="FONT-FAMILY:Courier New">
  &lt;SessionInitiator type="WAYF" URL="https://wayf.incommonfederation.org/InCommon/WAYF" /&gt;<br>
</div>
<div>
  <br>
  To point your SP at the new Discovery Service endpoint, make the following configuration change:<br>
  <br>
</div>
<div style="FONT-FAMILY:Courier New">
  &lt;SessionInitiator type="WAYF" URL="<b>https://wayf.incommonfederation.org/DS</b>" /&gt;<br>
</div>
<div>
  <br>
  Since the InCommon Discovery Service is backwards compatible with the InCommon WAYF, the above configuration should work exactly the same as before.<br>
</div>

  </li>
</ul>

<ul>
  <li>
    <i>How do I configure a Shibboleth&nbsp;2.x SP to use the InCommon Discovery Service with the SAML&nbsp;V2.0 Identity Provider Discovery Protocol?</i>

<div>
  <br>
  <b>Important!</b> The InCommon Discovery Service depends on SP metadata, so <b>update your metadata now</b>, before you configure your Shibboleth&nbsp;2.x SP to use the InCommon Discovery Service with the <i>SAML&nbsp;V2.0 Identity Provider Discovery Protocol</i>.<br>
  <br>
  Assuming the <font face="courier new">&lt;SessionInitiator&gt;</font> below, the location of the return endpoint (i.e., the endpoint location at the SP that the DS returns the user to, once the user's preferred IdP has been chosen) is:<br>
  <br>
  <font face="courier new">https://</font><i style="FONT-FAMILY:Courier New">host</i><font face="courier new">/Shibboleth.sso/DS</font><br>
  <br>
  where <i style="FONT-FAMILY:Courier New">host</i> is the hostname of your SP. Simply login to the site admin web application, edit your SP's metadata, and add a <font face="courier new">&lt;DiscoveryResponse&gt;</font> element with the above endpoint location.<br>
  <br>
  <b>Note:</b> The InCommon Discovery Service is a pre-production test deployment, so we recommend you return your SP configuration to its original state after trying the sample configuration below. You can (and should) leave the <font face="courier new">&lt;DiscoveryResponse&gt;</font> element in metadata, however.<br>
  <br>
  To use the InCommon Discovery Service with the <i>SAML&nbsp;V2.0 Identity Provider Discovery Protocol</i>, modify your <a href=https://spaces.at.internet2.edu/display/SHIB2/NativeSPShibbolethXML id=kwkk title="SP 2.x configuration">SP&nbsp;2.x configuration</a> file (shibboleth2.xml) something like the following:<br>
  <br>
</div>
<div style="FONT-FAMILY:Courier New">
  &lt;SessionInitiator type="Chaining" Location="/DS" id="DS" isDefault="true" relayState="cookie"&gt;<br>
</div>
<div style="FONT-FAMILY:Courier New">
  <div>
    &nbsp;&nbsp;&nbsp;&nbsp; &lt;SessionInitiator type="SAML2"<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultACSIndex="1" <b>acsByIndex="false"</b> template="bindingTemplate.html" /&gt;<br>
    &nbsp;&nbsp;&nbsp;&nbsp; &lt;SessionInitiator type="Shib1" defaultACSIndex="5" /&gt;<br>
    &nbsp;&nbsp;&nbsp;&nbsp; &lt;SessionInitiator type="<b>SAMLDS</b>" URL="<b>https://wayf.incommonfederation.org/DS</b>" /&gt;<br>
  </div>
  &lt;/SessionInitiator&gt;<br>
</div>
<div>
  <br>
  If this is first time your SP has been configured for SAML&nbsp;V2.0, you should test the configuration thoroughly of course.<br>
</div>

  </li>
</ul>

If you have any problems, drop us a line at discovery@incommon.org.

For More Information