[OpenID] Feedback from OpenID demo

Martin Atkins mart at degeneration.co.uk
Wed May 27 01:03:29 UTC 2009


Bill Shupp wrote:
> 
> Obviously, #2 really highlighted #1.  People thought that login should 
> be an explicit action, not automatic.  When discussing #1, I mentioned 
> an idea that Luke Shepard shared this week at IIW, of adding 
> "logout_setup" and "logout_immediate" to the protocol.  The idea being 
> that if you click logout on the RP, it could send a "logout_setup" to 
> the OP, which would trigger a popup asking if you also want to logout of 
> the OP as well.  This idea got a pretty favorable response, and seemed 
> to satisfy some of those concerned with the Single Sign Out issue.  
> "logout_immediate" could behave similar to "checkid_immediate", where 
> the logout is performed without user interaction, and might be favored 
> by higher value RPs like mint.com or the like.  Obviously, there's room 
> for RP abuse here, though.
> 

This logout_immediate thing makes me nervous for the reason you state at 
the end here. checkid_immediate doesn't actually change any state on my 
OP, it just inspects the state. logout_immediate *does* change state in 
on my OP from the context of my RP, which I don't like the sound of at all.

logout_setup is better because it is an interation at the OP that causes 
the change in state. This creates a log out flow similar to one I've 
created on a current project of mine where I have behavior that could be 
described as single sign-on: the Sign Out link goes to a page served 
from the authentication provider which explains that this action will 
also end the session on all other sites in the "network" and offers the 
user a chance to back out if that's not what he wanted to do.

Also, without the RP periodically checking in with the OP this doesn't 
seem to solve the problem: if I use the "Log Out" function on one RP I 
get logged out of that RP and my OP but not any other RPs I'm already 
logged in to. Doing some kind of call to the OP on every request (or 
every few requests), much as is done with Facebook Connect today, can 
solve this problem, but it creates new problems:

  * The user experience on the RP may be impacted in a far worse way if 
the OP is down or slow.

  * It dramatically increases the amount of load an OP has to deal with; 
many of today's OPs probably aren't scaled to deal with it.

  * It will need to deal sensibly with the transition between one 
identifier and another as well as the transition between logged out and 
logged in and vice-versa. In Facebook's current implementation I can 
attach multiple identifiers to my account, so this change in identifier 
might also change the OP in use, requiring the RP to check in with all 
of them.




More information about the general mailing list