爲了回答您的具體問題,你可以通過調用get請求(查詢)參數:
Controller.request().queryString()
獲得的OAuth2是容易的,但不是小事。它有助於有一個工作樣本。我會建議下載Play1,然後查找Facebook身份驗證示例。然後將代碼移植到Play2。我做了上述,發現這個過程非常有啓發性。你會意識到,每個網站和API都有怪癖/需求,所以幾乎沒有附加代碼可以在一個站點到另一個站點之間使用。
一步一步的答案是有幾個步驟。首先,你需要得到一個access_token
然後你可以使用它。爲了得到你需要給用戶發送到網站授權的url,到目前爲止Facebook上分享這個會是這樣的一個access_token
:
https://graph.facebook.com/oauth/authorize/?client_id=idFromFacebook&redirect_uri=http://yourdomain.com/auth
一旦你的用戶已經接受授權,該網站將用戶重定向一個代碼,像http://yourdomain.com/auth?code=XYZ_ABC
。然後您需要從站點訪問令牌URL請求獲取訪問令牌。對於Facebook來說,這將是這樣的:
https://graph.facebook.com/oauth/access_token?client_id=idFromFacebook&client_secret=secredFromFacebook&code=XYZ_ABC&redirect_uri=...
從上面的URL中的反應將在它的access_token
。
現在,您可以開始使用訪問令牌來請求信息。
你解決了這個問題嗎? – 030 2017-02-13 09:07:33
如果有幫助,「Play Framework Essentials」一書的作者Julien Richard-Foy已經包含了一個[示例](https://github.com/julienrf/pfe-samples/blob/ea59bd7/pfe-scala) /oauth/app/controllers/oauth/OAuth.scala)在本書的github回購中。我沒有看多少,因爲我選擇使用Silhouette,但它可能會提供一些很好的見解 – acros 2017-12-03 16:27:34