8

そこで、スクライブを使用して Facebook (OAuth 2) に接続しています。ただし、認証トークンの取得に問題があります。Play のウェブサイトでは、彼らは次のように述べています。

「バージョン 2 は、ライブラリやヘルパーなしで簡単に実装できるほどシンプルです。」.

ただし、これを行う方法がよくわかりません。

キーをビルドされたメソッドに送信するルートファイルを変更してみました。

GET    /slivr_auth/*name        controllers.Application.getKey(name)

ただし、認証キーには「?」が含まれています。URLに含まれているため、文字列としてキャプチャできません。

ヘルプやアドバイスをいただければ幸いです。

4

2 に答える 2

4

特定の質問に答えるために、次のように呼び出してリクエスト (クエリ) パラメーターを取得できます。

Controller.request().queryString()

OAuth2 を取得するのは簡単ですが、簡単ではありません。作業サンプルがあると役立ちます。Play1 をダウンロードして、Facebook 認証のサンプルを調べることをお勧めします。そしてコードを Play2 に移植します。私は上記のことを行い、プロセスが非常に有益であることがわかりました. 各サイトと API には癖やニーズがあるため、あるサイトから別のサイトに使用できると思われる追加コードはほとんどないことに気付くでしょう。

より段階的な答えは、いくつかのステップがあるということです。まず、 を取得してからaccess_token使用する必要があります。を取得するaccess_tokenには、ユーザーをサイトの認証 URL に送信する必要があります。これまでの facebook では次のようになります。

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れます。

これで、アクセス トークンを使用して情報を要求できるようになりました。

于 2012-04-13T00:45:55.200 に答える
1

それが役立つかどうかはわかりませんが、OAuth/CAS/OpenID/HTTP 認証とユーザー プロファイルの取得をサポートする Play 2.x クライアントを Scala と Java で作成しました: https://github.com/leleuj/ play-pac4j .

OAuth サポートについては、Scribe に基づいており、Facebook、Twitter、Google、Yahoo、DropBox、Github、LinkedIn、Windows live、WordPress をサポートしています...

于 2013-02-21T09:41:01.307 に答える