I think using "cancel" would add consistency between the modes, any
reason I'm not seeing why it is a bad choice?

--David 

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Josh Hoyt
Sent: Tuesday, December 26, 2006 4:17 PM
To: Johnny Bufu
Cc: Martin Atkins; specs@openid.net
Subject: Re: Consistency of negative responses to checkid_immediate
requests

Reviving an old thread...

On 12/14/06, Johnny Bufu <[EMAIL PROTECTED]> wrote:
> On 14-Dec-06, at 12:13 AM, Josh Hoyt wrote:
> > On 12/13/06, Martin Atkins <[EMAIL PROTECTED]> wrote:
> >> Josh Hoyt wrote:
> >>> It's confusing to me make the failure response to an immediate 
> >>> mode request be "id_res", especially if that is not the failure 
> >>> response for setup mode. I can't see a reason that they can't both

> >>> use the "cancel" response to indicate that the OP or end user do 
> >>> not wish to complete the transaction.
> >>>
> >>> This is a very minor change, but it will make the spec simpler.
> >>
> >> I think the RP will want to do something different in these two 
> >> cases.
> >
> > That's true, but the RP will probably need to handle the success 
> > case differently for immediate mode anyway (e.g. it will have to do 
> > AJAX to update the page) so I expect it to have a specific return_to

> > URL for immediate requests. Since using a different return_to is 
> > trivial, I prefer the consistency of negative responses.
>
> The current / v1 modes will need to be mentioned in the compatibility 
> section, and also implemented. Not sure if this simplification will 
> then still be worth.

Since the user_setup_url parameter is now gone, there is no way to
differentiate between a broken/truncated response and a cancel response
to an immediate mode request.

I think that there needs to be *some* positive way to identify
cancellation of immediate mode requests, rather than depending on lack
of other parameters. I'd be happy with any of these ways to positively
identify a cancel response to checkid_immediate:

 1. re-using "cancel" as I suggested above

 2. introducing a new mode (e.g. "setup_needed" )

  3. adding a parameter that the id_res response is an immediate
cancellation (e.g. openid.setup_needed=true)

I no longer buy the argument about having to support the OpenID 1
mechanism in the library, since cancellation of an immediate mode
response is already indicated differently between OpenID 1 and 2, so
it's really just a matter of what goes into the OpenID 2 code path
rather than whether the two code paths exist.

Pseudo-code for the current approach:

def isSetupNeeded():
  if this is OpenID 1:
    return whether there is a user_setup_url parameter

  if this is OpenID 2:
    # This is the branch that I want to change
    return whether there are any other OpenID parameters passed at all

Thoughts?

Josh
_______________________________________________
specs mailing list
specs@openid.net
http://openid.net/mailman/listinfo/specs
_______________________________________________
specs mailing list
specs@openid.net
http://openid.net/mailman/listinfo/specs

Reply via email to