[OpenID] The "keep context" problem

Martin Atkins mart at degeneration.co.uk
Fri Jun 15 06:27:43 UTC 2007


=drummond.reed wrote:
> Has anyone else had this same experience?
> 
> 1) You follow a link or navigate to a page on an OpenID-enabled wiki page
> that you realize you need to edit.
> 
> 2) You click the Edit button/tab/link and it presents an OpenID login box
> saying you have to login first.
> 
> 3) You enter your OpenID and successfully authenticate via your OP.
> 
> 4) The site returns a vanilla "login successful" page with a big smiley face
> saying welcome to the site!
> 
> But you're not wearing a big smiley face because your original context is
> completely lost. The "convenience" of being able to use an OpenID login
> means you now have to go back to the home page of the site and navigate back
> to the page you want to edit -- which you may not even know if you followed
> an external link to that page!
> 

This is not a problem inherent to OpenID. The Mediawiki plugin's RP code 
is flawed. There are a number of ways around this which vary in complexity:
  * Just add a query field to the return_to URL that contains the URL to 
send the user back to once authentication is completed. This is how most 
sites implement traditional "interrupting" login forms anyway.
  * Use your web framework's concept of "session storage" to remember 
where the user was before you did the redirect dance. This is kinda lame 
because it gets confused if the user does another auth-requiring action 
in a different tab or window.
  * Go Jyte-style and try to first do the authentication using an 
AJAX-type request and see if you can succeed without taking the user 
anywhere. If that fails, only then do you ask them to log in and you do 
one of the other options above. This only works if they've logged in to 
your site before and they've told their OP "Yes; every time"

The latter is, in my opinion, the best from a user experience 
perspective, but I would guess is near-impossible to do in situations 
like the MediaWiki plugin when you're trying to shoe-horn OpenID support 
into an app that was traditionally all about local user accounts. It's 
easy for Jyte because they are OpenID through and through. I'd be 
satisfied if the MediaWiki plugin would just do the first of these.





More information about the general mailing list