[OpenID] Feedback from OpenID demo
Martin Atkins
mart at degeneration.co.uk
Wed May 27 17:30:12 UTC 2009
Martin Atkins wrote:
>
> 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.
>
Here's an additional problem, while I'm at it:
* Since the check is done client-side in order to change session state
on the RP's server side, an attacker could simply cheat the session
check by messing with the client and make use of the RP's existing session.
In other words, the user thinks he's logged out but in reality he's not
logged out unless he goes to every site he's logged in to and lets the
session synchronization call complete.
Therefore this isn't really single sign-out, it's just presenting the
illusion of single sign-out. The session remains active until the client
ends it on an RP-by-RP basis.
This is less of an issue in the Facebook Connect case because the RP is
often using the Facebook session to make API calls to Facebook, which
will check the credentials. The session syncronization call is really
just to prevent bad UX when an API call fails after the page has
seemingly loaded just fine. When an RP is only using OpenID for auth and
not going on to make any other calls to the OP this is not true.
More information about the general
mailing list