Verwendung von OAuth 2 in Play Framework 2.0

8

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!

    
William 04.04.2012, 20:15
quelle

3 Antworten

4

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:

%Vor%

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:

%Vor%

Die Antwort von der obigen URL würde access_token enthalten.

Jetzt können Sie das Zugriffstoken verwenden, um Informationen anzufordern.

    
Vineet 13.04.2012 00:45
quelle
1

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 ...

    
jleleu 21.02.2013 09:41
quelle
0

Ich habe mehrere Beispiele überprüft, aber dies funktioniert aus der Box.

  1. klonen Sie das Repo
  2. navigiere zu samples/java/play-authenticate-simple-oauth
  3. Erstellen Sie Google-Anmeldedaten und fügen Sie die clientId und clientSecret zu conf/play-authenticate/mine.conf hinzu.
  4. run sbt run
  5. navigieren Sie zu localhost: 9000
  6. Anmeldung
030 13.02.2017 11:16
quelle

Tags und Links