Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What if the user can't log in with their OpenID?

Tags:

openid

login

Scenario: A user logs into a site (like StackOverflow) with an OpenID. A year later they return to the site but their OpenID provider has gone out of business and won't let them log in.

How best should they recover from this situation? And are there any OpenID-enabled sites you know of that have already implemented a solution for this?

There is an excellent article here about relying party best practices and they have a good suggestion but I'm still looking for an example of this in action:

Provide Lost Identifier functionality to switch to a new identifier without access to the old one

Provide a mechanism to switch an account to use a new identifier without access to the old identifier(s) associated with the account. This can take a similar form to the traditional "Forgot your password?" email verification dance, assuming that you have the user's email address on file.

Rationale: Users will sometimes lose the ability to use their identifiers, such as when their provider ceases to offer service to them. This functionality allows users to recover from this situation without losing their data.

I have some vague idea of how I can accomplish this with a token of sorts that's sent to the user's email address. But again, if someone else has already figured out a good solution with details I may not have thought of yet, then that'd be better.

like image 283
Steve Wortham Avatar asked Nov 18 '09 19:11

Steve Wortham


2 Answers

StackOverflow allows multiple OpenIDs to be associated with an account, so you can set up a backup provider.

Another solution might be to collect the user's e-mail address, and send a reset link to that e-mail address.

Ultimately, you're going to have the occasional user in any system that can't be dealt with automatically. Even without OpenID, it's easy for a user to lose access to their e-mail and forget their password, or to forget both their username and password. Sometimes, the only solution is going to be either "you need to sign up again" or "our customer service folks have granted you access to that account".

like image 56
ceejayoz Avatar answered Nov 15 '22 08:11

ceejayoz


I implemented the account recovery feature I was thinking about. After letting the idea simmer for awhile, I think I've come up with a pretty simple process for the user that's still secure.

Here's the process:

  1. Click the "having trouble" link under the OpenID buttons.
  2. Type in your email address and click "Send Account Recovery Email."
  3. Open the email and click the link. (The link has a one-time-login token in the querystring.)
  4. You'll automatically be logged in to my site (the one-time-login token will be destroyed so it can't be used again) and you're instructed to login with a secondary OpenID.

I also made a video demonstrating this:

http://regexhero.net/blog/2010/01/using-openid-on-regex-hero.html

like image 28
Steve Wortham Avatar answered Nov 15 '22 07:11

Steve Wortham