OpenID 1.2 Extensions Proposal

Johannes Ernst jernst+lists.danga.com at netmesh.us
Wed Apr 5 03:40:10 UTC 2006


What's unclear to me is why OpenID needs its own extensibility  
mechanism in the XRDS file -- isn't that what the XRDS file is  
supposed to be all about?

Why not simply declare it as another Yadis service, like this:

   <Service priority="20">
     <Type>http://openid.net/signon/1.2</Type>
     <URI>http://www.myopenid.com/server</URI>
   </Service>
   <Service priority="20">
     <Type>http://openid.net/extensions/sreg/1.0</Type>
     <URI>http://www.myopenid.com/server</URI>
   </Service>

or maybe even better, like this:

   <Service priority="20">
     <Type>http://openid.net/signon/1.2</Type>
     <Type>http://openid.net/extensions/sreg/1.0</Type>
     <URI>http://www.myopenid.com/server</URI>
   </Service>

Sounds simpler to me (no Yadis parser extensions needed!), and more  
consistent with the architecture.

On Apr 4, 2006, at 20:19, David Recordon wrote:

> So overall I think this looks good.  I think it is important in the  
> OpenID spec to define how we deal with extensions and YADIS for the  
> sake of being clear.  As Simple Registration showed, it is already  
> possible to create extensions to OpenID with the current 1.1 spec.
>
> So, from my understanding, 1.2 should do three things:
> 1) Formalize additional openid.* fields in a consumer's request and  
> server's response (should be easy to base off of SREG)
> 2) Explain what an OpenID service block looks like in a YADIS  
> discovery file
> 3) Replace OpenID discovery and delegation with YADIS, though  
> preserve the recommendation of backwards compatibility
>
> This sound right?  Seems like you guys have hit 1 and 2 so we just  
> need to deal with 3.  Want to make sure people agree this is the  
> correct scope for a 1.2 spec first though.
>
> Thanks for working on this,
> --David
>
> On Apr 4, 2006, at 1:14 PM, Jonathan Daugherty wrote:
>> We (of JanRain, Inc.) would like to propose the addition of OpenID
>> Extensions to the OpenID 1.2 specification.  The following is a
>> summary of the applicable parts of the simple registration extension
>> specification.  Qualifiers like "must" are intentional (RFC 2119).
>>
>> An extension is a specified set of query arguments prefixed with
>> "openid." and a specified namespace[1].  The consumer includes the
>> appropriate extension fields in a checkid_* request (according to the
>> extension's specification) and gets response fields from the  
>> server in
>> the id_res response.  Whether the response fields are included will
>> depend on the behavior of a given extension.  How the relying party
>> should handle extra or nonexistent fields should be specified by the
>> extension.
>>
>> Extension fields returned by the server must be signed using the
>> OpenID signing machinery.  In particular,
>>
>>  - The openid.signed field list must include extension field names
>> along with OpenID field names[2].
>>
>>  - The openid.sig signature will cover the extension fields returned
>> by the server in addition to the usual OpenID data.
>>
>>  - Since the extension fields are signed, they must be returned to  
>> the
>> server for verification during a check_authentication request.
>>
>> When using OpenID with Yadis, zero or more <openid:Extension>  
>> elements
>> should be included in the XRDS resource Service elements to indicate
>> the extensions supported by the service.  An <openid:Extension>
>> element should contain a URI which uniquely identifies the extension,
>> and the extension in question should specify this and other such  
>> URIs.
>> For example:
>>
>>   <Service priority="20">
>>     <Type>http://openid.net/signon/1.2</Type>
>>     <URI>http://www.myopenid.com/server</URI>
>>     <openid:Extension>
>>       http://openid.net/extensions/sreg/1.0
>>     </openid:Extension>
>>   </Service>
>>
>> Lastly, when using Yadis and OpenID, the Yadis relying party SHOULD
>> respect the Service elements' priority values regardless of which
>> extensions they provide.
>>
>> Please let us know what you think.  We'll be happy to work with David
>> et al. to come up with specification-strength language, if need be.
>>
>> [1] For example, if the extension namespace is "profile", the full
>>     extension prefix for any extension field must be
>>     "openid.profile.".
>>
>> [2] When an extension field appears in the openid.signed list, the
>>     field name must lack the "openid." prefix, as is already
>>     specified.
>>
>> -- 
>>   Jonathan Daugherty
>>   JanRain, Inc.

Johannes Ernst
NetMesh Inc.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: lid.gif
Type: image/gif
Size: 973 bytes
Desc: not available
Url : http://lists.danga.com/pipermail/yadis/attachments/20060404/6c51d2b4/lid.gif
-------------- next part --------------
  http://netmesh.info/jernst






More information about the yadis mailing list