3 Stimmen

Wie implementiert man einen benutzerdefinierten OpenID Relying Party in MVC 4

Ich mag das neue MVC OpenID/OAuth-Login-Feature, aber ich möchte wissen, wie ich einen neuen Login-Button hinzufügen kann. Zum Beispiel möchte ich, dass meine Benutzer sich mit ihrem StackExchange-Konto oder ihrer OpenID-URL einloggen können, genauso wie bei StackOverflow http://puu.sh/13rm0

Wie kann ich das machen? Gibt es Beispiele, die dies in Schritten zeigen?

5voto

Andrew Arnott Punkte 77359

Leider ist die von Microsoft freigegebene API auf Login-Anbieter beschränkt, die fest auf eine bestimmte URL codiert sind -- nicht auf eine, die Benutzereingaben akzeptieren kann, bevor der Benutzer angemeldet wird, wie es OpenID erfordert.

Sie können die Unterstützung für spezifische OpenID-Anbieter wie StackExchange hinzufügen, indem Sie eine Klasse erstellen, die DotNetOpenAuth.AspNet.IAuthenticationClient implementiert und fest auf die Verwendung von StackExchange codiert ist. Ein großartiges Beispiel dafür ist der Quellcode für Microsofts eigenen Anbieter für Yahoo!. Schauen Sie es sich an, sehen Sie, wie einfach es ist, erstellen Sie dann Ihre eigene Klasse, die einfach fest auf https://openid.stackexchange.com/ anstelle von https://me.yahoo.com/ codiert ist, und Sie haben die Unterstützung für StackExchange-Login.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X