Spring Security & Facebook OAuth 2.0 Integration mit Graph API

8

Bitte, zumindest pseudo (aber aus Arbeitsumgebung nicht "vielleicht sollte das funktionieren") Anwendungskontext und Controller / Filter, die Facebook-Benutzer authentifizieren und / oder automatisch registrieren.

Dieser Link: Ссылка reicht nicht aus. Eigentlich werde ich Minuspunkte auf jeden setzen, der es als Antwort posten wird. Ich habe 2 Stunden mit dem Ding verbracht und ich habe es nicht zur Arbeit gebracht. Ich endete etwas mutiger und fühlte mich nach diesem Unterfangen dümmer als sonst :-(

Ich würde gerne eine OAuth 2.0 Lösung für Facebook Connect sehen. Und die Verwendung von Facebook JavaScript API auf ein absolutes Minimum beschränken.

Der folgende Link zeigt, was ich brauche: Ссылка

Bitte posten Sie nur Code zu dieser Frage. Ich habe bereits alle Ratschläge, die ich verarbeiten kann.

AKTUALISIEREN

Ich habe eine Servlet-Lösung und habe hier eine Antwort geschrieben, falls jemand interessiert ist: Facebook Connect Beispiel in JSP (tomcat)

    
Mat B. 10.01.2011, 19:04
quelle

2 Antworten

3

Hier ist eine MVC-Implementierung von Facebook OAuth 2.0 Der Code in C # und hoffentlich seine Ähnlichkeit mit Java hilft Ihnen.

Controller (Einstiegspunkt): Controller (in MVC) ist der Punkt im Code, an dem die Steuerung ankommt, nachdem jemand auf den Login-Link geklickt hat.

%Vor%

FacebookOAuth Klasse

%Vor%

OAuth baseclass (Klasse, von der FacebookOAuth abgeleitet ist)

%Vor%     
Mulki 24.01.2011, 17:54
quelle
3

Ich habe gerade meine Nicht-Javascript-Implementierung der Facebook Graph API Authentication letzte Nacht beendet. Ich war ein gigantischer Schmerz in der a **, aber es funktioniert und es funktioniert ziemlich gut.

Ich habe das Beispiel aus dem oben angegebenen Link als Ausgangspunkt und den Code aus verwendet hier als Ausgangspunkt. Ich musste meine eigene Implementierung ihres FacebookGraphAuthenticationProvider und ihres FacebookGraphAuthenticationFilter schreiben, aber jetzt funktioniert es so, wie ich es möchte.

Sie müssen Implementierungen dieser beiden Dateien erstellen, Ihren Filter in die Filterkette einfügen und eine Implementierung des Spring Security UserDetailsService erstellen, mit der der Provider Ihre Benutzerkontoinformationen verwalten kann. Ich habe einen Code auf meinem Computer zu Hause, den ich Ihnen per E-Mail senden kann, wenn Sie möchten.

Hier sind die Schritte, die ich verwenden musste, um die Authentifizierung zu aktivieren:

  1. Erhalten Sie einen "Code" für einen Benutzer, indem Sie den folgenden Aufruf ausführen: Ссылка (Der Bereich enthält alle Berechtigungen, die Sie vom FB anfordern möchten). Dieser Aufruf erstellt einen "Authentifizierungscode", der dann an Ihre "redirect_uri" gesendet wird (die ich als http: // {my fb app registrierte Domäne} / j_spring_security_authentication_check angegeben habe.

  2. )
  3. Sobald Sie diesen "Code" haben, müssen Sie innerhalb Ihres AuthenticationProvider einen Aufruf machen, der ein access_token für die Sitzung Ihres Benutzers abruft: diese URL sieht wie folgt aus: Ссылка ? client_id = YOUR_APP_ID & amp; redirect_uri = IHR_URL & amp; client_secret = YOUR_APP_SECRET & amp; code = THE_CODE_FROM_ABOVE. Sie müssen sicherstellen, dass Ihr "redirect_uri" mit dem in # 1 übereinstimmt. Sie machen den obigen Aufruf mit etwas wie Apache's HttpClient o.ä.

  4. Mit diesem access_token (das in der obigen Antwort enthalten ist) können Sie die Profilinformationen Ihres Benutzers mit der folgenden URL abrufen: Ссылка {ACCESS_TOKEN von oben). Die Antwort wird in JSON sein. Sie können auch das access_token mit der gesamten graph API verwenden, um Status, Bilder usw. zu veröffentlichen.

Ich habe einen Code zu Hause, der meine vollständige Implementierung enthält, die ich gerne teilen würde.

Ich hoffe, das hilft zumindest ein bisschen. Ich schlage vor, die Spring Social App zu verwenden, um mit dem Posten von Status, Bildern, Wandkram usw. zu beginnen. Dies ist ein guter Ort, um mit der FB-Spring-Interaktion zu beginnen.

    
El Guapo 24.01.2011 13:23
quelle