I'm developing an application and I want to offer multiple providers for the user to authenticate.
To achieve that, the User will have an id for each of the providers I'll work with (googleId, yahooId, etc).
The problem I see here is how to link the accounts (how to realize xx@yahoo is the same user as xx@gmail).
The only solution I found for this is making the user link the accounts manually (when a User is created I pop a window to ask him if he wishes to associate other accounts).
I don't like that option because I don't think many users will use it, and as a consequence there will be replicated users (users will be created when they log with a not linked account).
Is there a more intelligent way to solve this?