<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">Hi guys, <div><br></div><div>Google would like to launch a feature in which we&#39;re allowing our Google Apps hosted domains to become OpenID providers. The authentication part of it is pretty simple - Google is already logging in users to their apps, so we can also host an OP endpoint for those domains and send assertions back to Relying Parties. What is more difficult is the discovery part. We have been working with the XRI TC to define a XRD-based discovery protocol that would allow this kind of hosting of discovery documents on behalf of our customers. </div>
<div><br></div><div>We believe that providing proof-of-concept implementations drives standardization processes forward, so in this spirit we want to launch this feature in the near future, using a discovery protocol that as far as we can tell meets all the requirements of what the XRI TC is currently converging on, but which has not been vetted as an official standard (it&#39;s a chicken and egg thing - without PoC no standards, without standards by definition no standards-compliant implementations).</div>
<div><br></div><div>While we were <a href="http://markmail.org/message/ixc5led2lobdwij2" target="_blank" style="color: rgb(119, 153, 187); ">tossing around ideas </a>in the standardization committees we just used random identifiers for new XML namespaces, etc. that we would need for this discovery protocol. Now that we&#39;re about to launch we need to decide what to call these things. We would like to use a namespace in <a href="http://specs.openid.net/.">http://specs.openid.net/.</a>.. because we want this kind of discovery protocol to be part of OpenID, but we can&#39;t really use them because we don&#39;t have a next-generation discovery protocol yet. </div>
<div><br></div><div>So what should we use? How about <a href="http://experimental.openid.net/.">http://experimental.openid.net/.</a>.. ? That way, Relying Parties know that what we&#39;re trying to do is be a part of the OpenID community and bring the protocol forward. On the other hand, this would also be a signal to the RP that they&#39;re using a feature that has not been vetted as a standard yet. </div>
<div><br></div><div>For example, a discovery document for a domain <a href="http://balfanz.net">balfanz.net</a> at Google might look like this (notice the &quot;experimental&quot; namespace and the XML elements using it):</div>
<div><br></div><div><font face="&#39;courier new&#39;, monospace">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</font></div><div><font face="&#39;courier new&#39;, monospace">&lt;xrds:XRDS xmlns:xrds=&quot;xri://$xrds&quot; xmlns=&quot;xri://$xrd*($v*2.0)&quot;&gt;</font></div>
<div><font face="&#39;courier new&#39;, monospace">  &lt;ds:Signature xmlns:ds=&quot;<a href="http://www.w3.org/2000/09/xmldsig#">http://www.w3.org/2000/09/xmldsig#</a>&quot;&gt;</font></div><div><font face="&#39;courier new&#39;, monospace">  &lt;ds:SignedInfo&gt;</font></div>
<div><font face="&#39;courier new&#39;, monospace">  &lt;ds:CanonicalizationMethod Algorithm=&quot;<a href="http://docs.oasis-open.org/xri/xrd/2009/01#canonicalize-raw-octets">http://docs.oasis-open.org/xri/xrd/2009/01#canonicalize-raw-octets</a>&quot; /&gt;</font></div>
<div><font face="&#39;courier new&#39;, monospace">  &lt;ds:SignatureMethod Algorithm=&quot;<a href="http://www.w3.org/2000/09/xmldsig#rsa-sha1">http://www.w3.org/2000/09/xmldsig#rsa-sha1</a>&quot; /&gt;</font></div><div>
<font face="&#39;courier new&#39;, monospace">  &lt;/ds:SignedInfo&gt;</font></div><div><font face="&#39;courier new&#39;, monospace">  &lt;ds:KeyInfo&gt;</font></div><div><font face="&#39;courier new&#39;, monospace">  &lt;ds:X509Data&gt;</font></div>
<div><font face="&#39;courier new&#39;, monospace">  &lt;ds:X509Certificate&gt;</font></div><div><font face="&#39;courier new&#39;, monospace">  MIICgjCCA...</font></div><div><font face="&#39;courier new&#39;, monospace">  &lt;/ds:X509Certificate&gt;</font></div>
<div><font face="&#39;courier new&#39;, monospace">  &lt;ds:X509Certificate&gt;</font></div><div><font face="&#39;courier new&#39;, monospace">  MIICsDCCAhmgAwIB...</font></div><div><font face="&#39;courier new&#39;, monospace">  &lt;/ds:X509Certificate&gt;</font></div>
<div><font face="&#39;courier new&#39;, monospace">  &lt;/ds:X509Data&gt;</font></div><div><font face="&#39;courier new&#39;, monospace">  &lt;/ds:KeyInfo&gt;</font></div><div><font face="&#39;courier new&#39;, monospace">  &lt;/ds:Signature&gt;</font></div>
<div><font face="&#39;courier new&#39;, monospace">  &lt;XRD&gt;</font></div><div><font face="&#39;courier new&#39;, monospace">  &lt;CanonicalID&gt;<a href="http://balfanz.net">balfanz.net</a>&lt;/CanonicalID&gt;</font></div>
<div><font face="&#39;courier new&#39;, monospace">  &lt;Service priority=&quot;0&quot;&gt;</font></div><div><font face="&#39;courier new&#39;, monospace">  &lt;Type&gt;<a href="http://specs.openid.net/auth/2.0/server">http://specs.openid.net/auth/2.0/server</a>&lt;/Type&gt;</font></div>
<div><font face="&#39;courier new&#39;, monospace">  &lt;Type&gt;<a href="http://openid.net/srv/ax/1.0">http://openid.net/srv/ax/1.0</a>&lt;/Type&gt;</font></div><div><font face="&#39;courier new&#39;, monospace">  &lt;Type&gt;<a href="http://specs.openid.net/extensions/pape/1.0">http://specs.openid.net/extensions/pape/1.0</a>&lt;/Type&gt;</font></div>
<div><font face="&#39;courier new&#39;, monospace">  &lt;URI&gt;<a href="https://www.google.com/a/balfanz.net/o8/ud?be=o8">https://www.google.com/a/balfanz.net/o8/ud?be=o8</a>&lt;/URI&gt;</font></div><div><font face="&#39;courier new&#39;, monospace">  &lt;/Service&gt;</font></div>
<div><font face="&#39;courier new&#39;, monospace">  &lt;Service priority=&quot;0&quot; xmlns:experimental=&quot;<a href="http://experimental.openid.net/google/2009/07/xmlns/">http://experimental.openid.net/google/2009/07/xmlns/</a>&quot;&gt;</font></div>
<div><font face="&#39;courier new&#39;, monospace">  &lt;Type&gt;<a href="http://www.iana.org/assignments/relation/describedby">http://www.iana.org/assignments/relation/describedby</a>&lt;/Type&gt;</font></div><div><font face="&#39;courier new&#39;, monospace">  &lt;MediaType&gt;application/xrds+xml&lt;/MediaType&gt;</font></div>
<div><font face="&#39;courier new&#39;, monospace">  &lt;experimental:URITemplate&gt;<a href="https://www.google.com/accounts/o8/user-xrds?uri={%uri}">https://www.google.com/accounts/o8/user-xrds?uri={%uri}</a>&lt;/experimental:URITemplate&gt;</font></div>
<div><font face="&#39;courier new&#39;, monospace">  &lt;experimental:NextAuthority&gt;<a href="http://hosted-id.google.com">hosted-id.google.com</a>&lt;/experimental:NextAuthority&gt;</font></div><div><font face="&#39;courier new&#39;, monospace">  &lt;/Service&gt;</font></div>
<div><font face="&#39;courier new&#39;, monospace">  &lt;/XRD&gt;</font></div><div><font face="&#39;courier new&#39;, monospace">&lt;/xrds:XRDS&gt;</font></div><div><br></div><div>What do you guys think?</div><div><br></div>
<div>Dirk.</div></span>