[OpenID] Simple Registration Extension 1.1 draft 1

Jack jack at jackpot.uk.net
Wed Sep 12 07:00:42 UTC 2007


Kevin Turner wrote:
> On Tue, 2007-09-11 at 14:51 +0100, Jack wrote:
>> ".sreg" part is going to depend on the namespace mapping that is
>> defined by the "openid.ns.something" parameter.  And so the part
>> called "openid.ns.sreg" _IS_ required, although it might actually
>> be "openid.ns.something" - the other parts cannot be evaluated
>> without the namespace declaration.
> 
> This is dependent on the version of OpenID you are using.  Version
> 1.x does not require openid.ns, version 2.0 requires it for all
> extensions. See 
> http://openid.net/specs/openid-authentication-2_0-12.html#extensions
> 
> This applies to your comments about the presence or absence of the 
> namespace field in the response message as well.

Ah - nice. So Sreg 1.1 can be used with either OpenID 1.x or OpenID 2.0,
even though namespaces aren't covered by 1.x.

I suppose that means that a Sreg 1.1 extension-handler that has to work
with OpenID1.x MUST use the literal namespace label "openid.sreg"?

I guess it's a significant disadvantage of spec fragmentation, that you
risk conflicts like this:

OpenID 2.0:
     "To associate keys and values in a message with an extension, the
      key MUST be associated with the Type URI."

SReg 1.1:
     "All of the following request fields are OPTIONAL, though at least
      one of "openid.sreg.required" or "openid.sreg.optional" MUST be
      specified in the request.
       openid.ns.sreg:
           "http://openid.net/extensions/sreg/1.1"
       [...]
> 
> This is true, but making a distinction between the two allows for the
>  provider to show a UI hint.

OK, that's the only purpose that I could see in it. However I have yet
to meet a OP that displays such a hint (or perhaps I just didn't notice it).
> 
>> Is there a requirement that the namespace label in the response
>> should have the same value as it had in the request? That is,
>> should an RP be prepared for the label to have changed?
> 
> That's really the only sane way to write an OpenID 2.0 message
> parser. The label is only meaningful in the context of that one
> message, and it's nothing more than an alias.
> 
Good. Now I'm wondering if I can think up a scenario that would result
in the OP having to switch labels between the request and the response,
because of a collision. That would have to result from extension data
being included in the response that wasn't asked-for in the request, I
suppose. And as far as I can see, that is explicitly permitted - "The
behavior in the case of missing required fields or extra, unrequested
fields is up to the Consumer." [Sreg1.1#response_format]

OK, thanks for clarifying.

-- 
Jack.



More information about the general mailing list