Also verwende ich Schreiber, um mich mit Facebook zu verbinden (OAuth 2). Ich habe jedoch Probleme beim Abrufen des Autorisierungstokens. Auf der Play-Website wird das gesagt
"Version 2 ist einfach genug, um ohne Bibliothek oder Helfer einfach implementiert zu werden".
Allerdings bin ich mir nicht ganz sicher, wie ich das machen soll!
Ich habe versucht, meine routes-Datei zu ändern, die den Schlüssel an eine eingebaute Methode senden würde.
%Vor%Die Auth-Taste enthält jedoch ein '?' in der URL, so kann ich es nicht als Zeichenfolge erfassen.
Jede Hilfe oder Beratung wäre willkommen!
Um Ihre spezifische Frage zu beantworten, können Sie Anfrage (Abfrage) -Parameter erhalten, indem Sie aufrufen:
%Vor%Das Abrufen von OAuth2 ist einfach, aber nicht trivial. Es hilft, eine funktionierende Probe zu haben. Ich würde empfehlen, Play1 herunterzuladen und das Beispiel für die Facebook-Authentifizierung nachzuschlagen. Und dann den Code auf Play2 portieren. Ich machte das oben genannte und fand den Prozess sehr lehrreich. Sie werden feststellen, dass jede Site und API Macken / Bedürfnisse hat, so dass es sehr wenig zusätzlichen Code gibt, der von einer Site zur anderen verwendbar scheint.
Eine weitere Schritt-für-Schritt-Antwort ist, dass es mehrere Schritte gibt. Zuerst müssen Sie ein access_token
bekommen und dann können Sie es verwenden. Um access_token
zu erhalten, müssen Sie den Benutzer zur Autorisierungs-URL der Website schicken. Bis jetzt wäre dies in etwa so:
Sobald Ihr Benutzer die Autorisierung akzeptiert hat, leitet die Site den Benutzer mit einem Code um, etwa wie http://yourdomain.com/auth?code=XYZ_ABC
. Sie müssten dann von den Websites Zugriffstoken-URL anfordern, um das Zugriffstoken zu erhalten. Für Facebook wäre das etwa so:
Die Antwort von der obigen URL würde access_token
enthalten.
Jetzt können Sie das Zugriffstoken verwenden, um Informationen anzufordern.
Ich weiß nicht, ob es helfen könnte, aber ich habe einen Play 2.x-Client in Scala und Java erstellt, der OAuth / CAS / OpenID / HTTP-Authentifizierung und das Abrufen von Benutzerprofilen unterstützt: Ссылка .
Für OAuth-Support basiert es auf Scribe und unterstützt Facebook, Twitter, Google, Yahoo, DropBox, Github, LinkedIn, Windows Live, WordPress ...
Ich habe mehrere Beispiele überprüft, aber dies funktioniert aus der Box.
samples/java/play-authenticate-simple-oauth
clientId
und clientSecret
zu conf/play-authenticate/mine.conf
hinzu.
sbt run
Tags und Links scala java playframework