Facebook / Twitter mit dotnetopenauth? [geschlossen]

70

Ich habe OpenID so ziemlich dazu gebracht, mit der DotNetOpenAuth- Bibliothek zu arbeiten. Jetzt möchte ich, dass Benutzer sich über Facebook und Twitter anmelden können.

Dies erfordert, OAuthdaher suche ich nach einem Tutorial zur Verwendung von DotNetOpenAuth OAuth.

Ich habe Probleme, einfache Tutorials zu finden.

Kann mir bitte jemand helfen?

chobo2
quelle
Ich habe http://www.voiceoftech.com/swhitley/index.php/2009/03/twitter-oauth-with-net/ als Referenz für Twitter's OAuth verwendet. Es hat einige benutzerdefinierte Arbeiten gekostet und ich habe einen benutzerdefinierten Mitgliedschaftsanbieter darum gewickelt, aber es hat ziemlich einfach funktioniert, als ich meinen Kopf um alles gewickelt habe. Ich habe Facebook Connect noch nicht verwendet, daher kann ich dort nicht viel Hilfe anbieten.
TheRightChoyce
2
DotNetOpenAuth enthält ein Beispiel für die Anmeldung bei Twitter im OAuthConsumer-Projekt. Das DotNetOpenAuth OAuth 2.0 CTP enthält auch ein Facebook-Anmeldebeispiel im OAuthConsumer-Projekt.
Andrew Arnott
@ Andrew Arnott - Hmm, ich hatte ein Problem beim Laden der Samples (ich hatte eine Frage auf dem Stapel, aber aus irgendeinem Grund akzeptierte ich eine Antwort, die ich nie ausprobiert habe). Sie haben diesen Beitrag kommentiert, damit Sie ihn vielleicht näher erläutern können. stackoverflow.com/questions/4671367/…
chobo2
Ich finde auch, dass schriftliche Tutorials ebenfalls hilfreich sind, da ich mich beim Betrachten der Beispiele etwas überfordert fühle und nicht einmal sicher bin, wo ich anfangen soll. Ich möchte ein schönes einfaches Beispiel sehen, bevor ich direkt zum vollständigen Szenario übergehe.
Chobo2
Ich habe ein Tutorial für Twitter gefunden. Blog.techcle.com/2010/03/20/… , das ich für gut halte. Ich habe jedoch festgestellt, dass es eine DLL mit dem Namen DotNetOpenAuth.ApplicationBlock gibt, die nicht nuget zu sein scheint. Ich frage mich, ob Sie wissen warum. Ich würde immer noch gerne versuchen, die Beispiele zum Laufen zu bringen.
Chobo2

Antworten:

62

Zum Zeitpunkt der Beantwortung dieser Frage verfügt DotNetOpenAuth über eine öffentliche Community Tech Preview (CTP), die zum Download zur Verfügung steht .

Pew Pew

  1. Laden Sie diesen Quellcode herunter. Sollte eine .7z-Datei sein. Sie können den Code mit 7-Zip entpacken, wenn Sie ihn noch nicht haben (er ist kostenlos).
  2. Öffnen Sie die Beispielquellcodelösung in Visual Studio. Ich verwende VS2010, aber ich denke, es gibt auch eine VS2008-Lösungsdatei.

Mehr Pew Pew

  1. Öffnen Sie nun die Datei web.config für das OAuthClientProjekt. Geben Sie hier die Bildbeschreibung ein

  2. Bearbeiten Sie als Nächstes die folgenden Einstellungen: -

    <!-- Facebook sign-up: http://developers.facebook.com/setup/ -->

    <add key="facebookAppID" value="------"/>

    <add key="facebookAppSecret" value="------------"/>

Sie können diese Werte aus Ihrer Anwendung auf Facebook erhalten .

  1. Debuggen / Ausführen der OAuthClient-Webanwendung. Dadurch wird eine Instanz von Cassini / Visual Studio Developer Server gestartet und ein Webbrowser sollte geöffnet werden:

Geben Sie hier die Bildbeschreibung ein

Voilà! Sie können sich jetzt mit Facebook verbinden, um sich anzumelden.

Wenn Sie Fehler erhalten, müssen Sie Folgendes sicherstellen:

  1. Sie haben die Facebook-App-Einstellungen in Ihrer web.configDatei manuell geändert .
  2. Sie haben Ihre App-Einstellungen auf der Facebook-Entwickler-Website korrekt eingerichtet.
Pure.Krome
quelle
Ich musste int in FacebookGraph.cs auf long ändern und um Benutzer-E-Mails abzurufen, habe ich auch eine E-Mail-Eigenschaft hinzugefügt. Ich bin mir nicht sicher, ob dies der einzige Weg ist, um es zum Laufen zu bringen. Aber danke für deine Hilfe :)
Jags
3
+1. Hinweis für andere: Das DotNetOpenAuth-Beispiel OAuthClientmit Facebook-Einstellungen ist in den Versionen 3.4.5.10202 oder 3.4.7.11121 nicht verfügbar, jedoch in den Versionen 3.5.0.10357 und 4.0.0.11165. Sie müssen hier mindestens die von @ Pure.Krome gezeigte Version verwenden.
Drew Noakes
2
Weiß jemand, warum das FB-Login nur in den 3.5-Versionen verfügbar ist? und nicht in den neuen?
Mateuscb
2
Facebook hat einen anderen Entwurf von OAuth 2.0. Die von dotnetopenauth verwendete Version ist eine spätere Version. Es nervt.
Pete - MSFT
Für den aktuellen Code können Sie sich auf das Github-Repo
Ferran Salguero