2

現在、Symfony2 アプリで FOSOAuthServerBundle をセットアップしようとしています。すべてがセットアップされ、機能しているように見えますが、とにかくインストール後に立ち往生しています。access_token を取得するための URL を使用した適切なワークフローは何ですか?

/oauth/v2/auth を試してみましたが、最初に Client オブジェクトを定義する必要があるようです。

クライアントを作成/生成する方法は? クライアントは常に手動で作成する必要がありますか?

FOSOAuthServerBundle のドキュメントは素晴らしいですが、すべての使用ワークフローをスキップしているようです。これについて OAuth2 ドキュメントを確認する必要がありますか?

ありがとう !

4

2 に答える 2

2

要するに、はい。使用するワークフローを決定するには、oAuth2 RFC を使用する必要があります。クライアント登録に関して、RFC は、クライアントが登録する手段は仕様の範囲外であると明確に述べています ( https://www.rfc-editor.org/rfc/rfc6749#section-2 )。

そうは言っても、私がこれをどのように行ったかについての洞察を与えることができます。私のアプリケーションは、さまざまなサーバーで実行されている複数のサービスに接続する携帯電話アプリケーションです。も使用していResource Owner Password Credentials Grantます。

私がこれにアプローチした方法は次のとおりです。アプリケーションがロードされると、最初に行うことは、oAuth2 client id. そうでない場合は、必要なメタデータで設定した create client エンドポイントに POSTS します。エンドポイントは POST を検証し、クライアントを作成して、クライアント情報を返します。アプリケーションはクライアント ID を保存するため、次回プロセスを繰り返す必要はありません。

  1. アプリケーションの負荷。
  2. アプリケーションは oAuth2 クライアント ID をチェックします。
  3. 存在する場合、プロセスは終了します。
  4. 存在しない場合は、http://www.example.com/client に投稿します。
  5. 200 を取得した場合は、oAuth2 クライアント ID を保存します。

ユーザーがアプリケーションでアカウントを作成するときに oAuth2 クライアントを作成することもできましたが、登録プロセスをできるだけ速くしたかったのです。クライアントを作成すると、プロセスに余分な待ち時間が追加されます。

于 2013-08-08T12:39:45.300 に答える
0

これを確認してください:http://blog.logicexception.com/2012/04/securing-syfmony2-rest-service-wiith.html

Doctrine を使用するかどうかに関係なく、Doctrine に変換するのは非常に簡単です。

必要なことを正確に実行するコマンドラインがあります: クライアントを作成します!

于 2013-02-11T14:09:45.750 に答える