ASP.NET-Identität: Aktualisieren Sie externe Ansprüche nach der Autorisierung

8

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.

    
nativehr 25.02.2015, 13:38
quelle

0 Antworten