Im using DotNetOpenAuth to integrate Google,Yahoo,Twitter and Facebook Logins into my application.
Now everything works as expected.
- Twitter returns -> User-name and Claim-identifier(Just Id)
- Google returns -> Email-Address, First and last Name and ID(URL+ID)
- Yahoo returns -> Email-Address, Alias and ID (Url + ID)
Also im also allowing my users to register internally so my database User table is like this:
- ID,UserName,Name,OpenID,LoginType,DisplayName
im wondering what i should be storing as User-Name, i was thinking of the ID, but i have this questions:
- Shall i store the whole ID as User-Name ?!
- Would it affect performance to store the whole ID(URL) as username?
- If i extracted the ID from the Claim-Identifier would it still be unique between all 3 providers?