Ich versuche, die Formular-Authentifizierung in ASP.Net Core mit Google und Facebook-Authentifizierungen zu implementieren. Ich folgte ein paar Tutorials und nach einigen Schwierigkeiten schaffte ich es, beides zum Laufen zu bringen.AspNet Core Externe Authentifizierung mit Google und Facebook
Das Problem ist jedoch, dass ich beide Authentifizierungen für die gleiche E-Mail nicht verwenden kann.
Zum Beispiel ist meine E-Mail-Adresse "[email protected]". Ich habe Facebook-Authentifizierung verwendet, um mich zuerst anzumelden ... Registrierte meine E-Mail und es funktionierte erfolgreich und legte meinen Datensatz in 'dbo.ASPNetUsers' Tabelle.
Dann habe ich mich ausgeloggt, klickte auf Google Authentication um mich einzuloggen. Es authentifizierte sich erfolgreich, aber als ich versuchte es zu registrieren, sagte es immer, dass meine Email schon vergeben ist.
Ich habe versucht, das gleiche für andere Online-Websites (zB, Stackoverflow) zu tun. Ich habe die gleiche E-Mail für Google und Facebook verwendet und die Website weiß, dass ich dieselbe Person bin und meine Login/Ansprüche verknüpft sind, obwohl sie von verschiedenen Orten kommen (Google & Facebook).
Ich möchte diese Funktion in meiner Website haben, und könnten Sie bitte lassen Sie mich wissen, wie ich das erreichen konnte.
In der Theorie sollte es eine andere Zeile in "dbo.AspNetUserLogins" setzen und sollte die gleiche UserId mit mehreren Logins verknüpfen.
Muss ich meine eigene SignInManager.SignInAsync-Methode implementieren, um diese Funktion zu erreichen? Oder fehlt mir irgendeine Konfiguration?
in den VS-Vorlagen hinzufügen Sie einen anderen Anbieter von auf die Seite Manage gehen nach dem Einloggen und fügte hinzu, dass Anbieter, nicht zu versuchen, REGI ster als neuer Benutzer. Die Zuordnung per E-Mail-Adresse allein ist nicht stark genug, da die App nicht überprüfen kann, ob Sie diese Adresse wirklich besitzen. – Tratcher