I lately saw it quite often what you can assign multiple openid's to a user identity.
- a) Does this make sense to implement or would you assign one profile only one OpenID?
- b) How would you implement this in a Zend Framework MVC enviroment. Do you have a code example/tutorial?
My Idea so far:
I found something similar for asp.net: http://www.west-wind.com/weblog/posts/2009/Sep/17/Integrating-OpenID-in-an-ASPNET-MVC-Application-using-DotNetOpenAuth
- Database Model: Table for user profiles and a second table for openid's which are assigned to a user (MySQL).
- Login Prozess:
- a. Login with Zend_Auth_Adapter_OpenId + (Get Profile information from OpenId for new Users)
- b. Check if User Exists. If not, create user from OpenId profile and redirect user to profile screen to confirm user information
- c. If user exists, confirm openid and get the user profile from the database.
- d. Safe all information and business logic within the Zend_Auth Model that it can be easily accessed from within the whole application
Since I'm not experienced in Zend I would be very thankful for hints on how to extend the zend auth controll开发者_运维知识库er to fit this needs? Even more if someone could provide me with some code examples or a tutorial.
Thanks!
Does this make sense to implement or would you assign one profile only one OpenID?
You need to remember that OpenId is distributed, which means that you don't control the login service. When the user's primary OpenID provider has a downtime, the user cannot log into your application - although your servers are running fine.
Letting users provide several OpenIds lets them minimize the risk of not being able to access your application.
I've been thinking about the same issue for my pet project SemanticScuttle, and I'll definitely implement several OpenIds for one user.
精彩评论