How to OpenID: required fields and user mapping
I would like to enable users of my we application to be able to login and register easier without remembering their credentials.
The purpose is to make it easier for users to start interacting with the application.
With the current registration the mandatory fields are: email, password and name.
I think about using OpenID (or even OAuth, which ATM I don't really need).
But I have a number of issues that I am not sure how to deal with:
- If OpenID provider will not return required fields (email, name), how to proceed with registration (it's n开发者_开发技巧o longer simple and will envolve more than 1 step)?
- How to map same user logging in using another OpenID? (
add openid
at SO) transparently?
I know about RPX, but don't want to rely on another intermediate 3rd for authentication.
Thanks.
For (1), it's really depend on how much information you required for an account to be considered registered. For example, Stack Overflow doesn't request any information from IdP; it simply assign a random username (user12345) - user would then complete it's personal information (and earn a badge) whenever she/he feels comfortable.
Not the that it's the best practice as users won't benefit from linking the accounts by avoiding enter her/his name twice. Again, it's really depend on what you really want to know about the user and how much fiction you are will to put in to the sign up process to get these info.
For (2) it's even a bigger issue. IMO the add OpenID feature at Stack Overflow is clear enough to tell people what it does. You may aggressively prompt user when you have detected that two OpenIDs returns the same e-mail address, but I am not sure if it's a good idea and good UX.
It is advised to separate username/userid of your site from OpenID though - small OpenID IdPs might close someday and you really don't what your users not being able to login because of it.
精彩评论