Mam aplikację internetową, która umożliwia rejestrację i uwierzytelnianie poprzez Facebook, Google i Windows Live. Każde żądanie OAuth ma wymagany zakres, aby pobrać powiązane adresy e-mail od dostawcy uwierzytelniania.Pojedyncze konto dla wielu dostawców OAuth (Facebook, Google, Windows Live)?
Obecna sytuacja polega na tym, że konto jest tworzone na podstawie dostawcy i podanego identyfikatora. Oznacza to, że jeśli użytkownik ma zalogowany z wieloma dostawcami, użytkownik będzie miał wiele kont w aplikacji internetowej.
Chcę mieć idealną sytuację posiadania jednego konta usługi nawet przy użyciu wielu dostawców. Myślałem o użyciu adresów e-mail, aby sprawdzić, czy konto istnieje dla użytkownika. Jeśli istnieje, użyj konta na podstawie adresu e-mail.
Jak bezpieczne/niezawodne jest to? Czy wszyscy dostawcy OAuth wymienili adresy e-mail? Lepsze sposoby?
EDYTOWANIE: Przeprowadziłem testy i wymyśliłem to. Wciąż szukam dalszych porad :)
FaceBook: Cannot authenticate with unvalidated e-mail. Additional e-mail will not appear until validated.
Google: Provides `verified_email`. Additional e-mail will not appear until validated.
Windows Live: Cannot authenticate with unvalidated e-mail. Additional e-mail will not appear until validated.