Frage

Ich liebe StackExhchange / Stackoverflow Ansatz OpenID zu integrieren.

Wie ich es verstehe, wird der Prozess etwas geht:

  • Wenn ein Benutzer sich mit einem OpenID-Provider (das heißt Google), Stackoverflow (oder eine ähnliche Website) erstellt ein Konto für den Benutzer und ordnet die OpenID mit diesem Konto.
  • Ein vorhandener Benutzer kann assoziieren mehr OpenID-Konten mit seinem / ihrem Konto Stack.

Ich würde gerne dieses Verhalten emulieren, weil ich es nicht annähernd so benutzerfreundlich gesehen habe auf anderen Seiten.

Ich weiß Stack auf ASP.NET MVC gebaut wird, aber ich bin nicht sicher, ob es der Standard ASP.NET credentialing Modell verwendet und dann füge die OpenID-Provider in einer separaten DB-Tabelle oder was.

Also, meine Fragen sind:

  • Wie erstellen Stack diese Konten? Haben sie einen Benutzer in dem Standard ASP.NET MVC-Provider erstellen und dann die ID zugeordnet werden, oder gibt es einen separaten Prozess?
  • Wie funktioniert Stack erlaubt zusätzliche OpenID-Provider-Konten mit einem bestehenden Konto zugeordnet werden?

Vielen Dank im Voraus für jede Hilfe können Sie geben!

War es hilfreich?

Lösung

Die Stack Sites verwenden die DotNetOpenAuth Bibliothek (früher als DotNetOpenId Bibliothek bekannt ist).

Sie müssen im Grunde einen User Tisch und eine User_OpenID Tabelle mit einer Eins-zu-viele-Beziehung. Scot Hanselman einen guten Grund Artikel hat oder versuchen, einen mehr in der Tiefen Überblick

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top