Ich verwende ASP.NET Identity mit mehreren externen Anmeldeanbietern und muss das folgende Szenario behandeln:
1) Ein Benutzer meldet sich mit einem externen Dienst an (sagen wir es Facebook), Anwendung ergreift einige Informationen von Facebook (Vor- und Nachname, E-Mail, Geburtsdatum, etc ...) Ansprüche, die diese Informationen enthalten, werden der Identität hinzugefügt.
2) Ich muss diese Informationen in der Anwendung Db für die folgenden Szenarien speichern:
Der Administrator durchsucht die Liste der registrierten Benutzer
Der E-Mail-Abonnementdienst verwendet Vor- und Nachnamen
Die Frage ist, ob der Benutzer sein Facebook-Profil aktualisieren wird (z. B. E-Mail-Adresse ändern) - in diesem Fall muss ich auch Informationen in meinem DB aktualisieren (ich speichere externe Ansprüche in der AspNetUserClaims-Tabelle). Eigentlich muss ich es jedes Mal aktualisieren, wenn ein externer Benutzer authentifiziert wird.
Hier ist der Code, wie es zum ersten Mal gespeichert wird:
Erweiterte Anspruchsklasse:
%Vor%Startup:
%Vor%AuthController
Externer Login-Rückruf:
%Vor%Erstellen eines Benutzers nach Bestätigung der externen Anmeldung (anderen Code weglassen):
%Vor%Das funktioniert gut, aber ich bleibe bei der Aktualisierung der eingehenden Schadenswerte, nachdem ein Facebook-Benutzer zurückkommt. Wie kann man mit einer solchen Situation umgehen? Thx.
Tags und Links asp.net owin asp.net-identity-2 claims