I have a website with a user / account table that has the usual fields that you expect in it: PrimaryKey (int), Username (string), EmailAddress (string), HashedPassword (string), etc.
I want to add a social login (Facebook / Google / Twitter / ++) to the site.
I want to allow existing users to associate their social accounts with their existing accounts (if any), even if their existing accounts have different emails. If they do not have an existing account, I would like them to be able to associate several social logins with one account, so they do not need to remember if they logged in to this site using Facebook / Twitter / Google / ++.
Not sure if anyone reading this is facing the same dilemma when they get to a site with multiple social login options? You know that you logged in earlier, but you cannot remember which social network you used to log in. I want to be able to log into the system with one of them, and the site then said: "Hey, you are a new account, want to add any other social logins." Then I can log in with other networks until we find a bingo, find the one I last logged into, and the site can then link them together so I don't have to remember my social login. (This is just one case.)
Has anyone set a pattern and / or best practice to solve the problem I'm trying to solve? (I don't want to reinvent the wheel.) Thank you.
source share