6 Stimmen

Wie melde ich mich mit Facebook unter Verwendung von DotNetOpenAuth an?

Ich habe gesucht, die FB-Entwicklerdokumentation gelesen.

MVC 4, Ich habe OpenId integriert.
Jetzt möchte ich auch den FB-Login einbinden, so wie es Stackoverflow und einige andere Websites implementiert haben.

Soll ich meine eigene JS-Datei mit Beispielcode vom FB-Entwickler erstellen?
ODER
Ein Drittanbieter-Tool verwenden, von dem ich nicht weiß, was ich verwenden soll. Ich habe mir OAuthClient (DotNetOpenAuth-4.0.0.11165) angesehen, es konnte nicht ausgeführt werden, es gab einen Serverfehler und ich konnte nicht debuggen, da die Quelldatei fehlte.

0 Stimmen

Durch Klicken auf "Anmelden mit FB" wird erzeugt: HTTP 400 - Bad Request

0 Stimmen

Der entfernte Server hat einen Fehler zurückgegeben: (400) Ungültige Anfrage.

2voto

Andrew Arnott Punkte 77359

Facebook implementiert eine ältere OAuth 2-Spezifikation als die neueste DotNetOpenAuth-Beta es tut. Um mit Facebook zu interopieren, sollten Sie die CTP von v3.5 von DotNetOpenAuth verwenden, um den 400 Bad Request-Fehler zu vermeiden.

0 Stimmen

Ich bekomme dies auch mit 3.5 ctp erwähnt von Andrew in MVC-Projekt mit dem github.com/mhamrah/Html5OpenIdTemplate Projekt.

0 Stimmen

Wirklich? Ich habe es gerade heruntergeladen, um es zu testen, und es hat einwandfrei funktioniert (das CTP - ich habe das von @gsogoly referenzierte Template noch nicht ausprobiert).

1 Stimmen

Ja, diese 400 Bad Request-Fehler haben damit zu tun, dass ich oder jemand anders nicht ordnungsgemäß in das Facebook-Apps-Konto geht und die sichere URL einstellt. Alle Beispiele verwenden einen bestimmten Port localhost:xxxxx. In fb muss es vor dem Testen so eingestellt werden. Es hat eine Weile gedauert, um das herauszufinden. Danke trotzdem.

0voto

andrew.sanin Punkte 51

In der neuesten Version von DotNetOpenAuth (4.0.0.12084) funktioniert die Anmeldung mit Facebook einwandfrei.

Um die Beispiel-Lösung erstellen zu können: installieren Sie Code Contracts: http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx

Und um das Beispiel mit der Facebook-Anmeldung zum Laufen zu bringen, müssen Sie:

  1. Ihre eigene App auf Facebook erstellen
  2. Ihre lokale Website-URL in den App-Einstellungen angeben (im Abschnitt "Wählen Sie aus, wie Ihre App mit Facebook integriert werden soll")
  3. Aktualisieren Sie die Web.config (OAuthClient-Projekt) Datei mit Ihrer App-ID und Ihrem App-Geheimnis.
  4. In DotNetOpenAuth.ApplicationBlock.Facebook.FacebookGraph ändern Sie den Typ der Id-Eigenschaft von int in long
  5. Starten Sie das OAuthClient-Projekt. Es sollte funktionieren.

Weitere Details hier: Facebook/ Twitter mit DotNetOpenAuth?

Lesen Sie auch die Versionshinweise zu OAuth 2.0 (http://www.dotnetopenauth.net/oauth/dotnetopenauth-4-0-released/) Soweit ich weiß, ist es noch nicht stabil, aber ich beschäftige mich noch damit. Bisher funktioniert es bei mir einwandfrei.

0voto

Nandip Makwana Punkte 356

Dieser Beitrag erklärt, wie die OAuth- und OpenID-Authentifizierung und -Integration in einer asp.net MVC 4-Anwendung aktiviert werden können.

http://www.dotnetexpertguide.com/2012/08/facebook-twitter-oauth-openid-login-with-aspnet-mvc-4-application.html

3 Stimmen

Sie müssen die Zugehörigkeit zu verlinkten Websites offenlegen.

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