Merging User Accounts
Services that allow you to login with multiple providers (e.g. Google, Facebook, Twitter) will also, sometimes, let you merge accounts. This is important if the user forgets which provider they had previously used to create an account with.
User can create an account with their email or via various social logins (e.g. Login with GitHub). The user is logged out and the next time they go to login they forget which service they previously used. They proceed to use a different service. How does the system respond?
- Merge the accounts based on some unique identifier
- Create another account for the user
Sometimes services allow users, once signed in, to sign in with another platform and then the accounts will be linked that way. This isn't as ideal as the user must do this once already logged in.
The solution provided here is decent, https://stackoverflow.com/a/6906457/1345618
- User logs in via a third party identity
- Once logged in they have the option to connect other third party logins
- If they forget and login with another once, the system creates another user account for them.
- From there they can connect the original third party login. The system will detect the collision and offer to merge the accounts