Search code examples
phpdatabase-designopenidlightopenid

database scheme or strategy for openid


what would be the best strategy to store information about the users openid. The user must also be able to use different openids, but they have to be linked to the same profile.

In other words, sort of the same what Stack Overflow does.

What should I do?

For the database sofar, I have openid_url and identity as a field. What would be the unique qualifier for a user-profile. What happens the next time the user decides to login with Yahoo instead of google?

I hope I can get a definitive answer here.

Thanks, Richard


Solution

  • You just create two tables : one containing the user profile (containing a unique profile id, (screen) name, maybe unique login & password for "manual" logins and other user related info like language etc.) and the second just contains a list of all openId profiles linked to a specific user profile (so it should contain at least a profile id from the first table and a URI for the openId - but multiple records for the same profile id should be allowed).