0

私は現在、API駆動のsymfony2 Webアプリケーションを構築しようとしています.symfony2とRESTを学ぶための基本的なアプリケーションです.

これは RESTful API に基づいています。API への呼び出しは、OAuth を使用して認証されます。

例: クライアント アプリケーションが API を介してデータ (すべての果物に関する情報) を取得する場合、URL に対して GET 要求を行い、アクセス トークンをパラメーターとして渡す必要があります。したがって、URL は次のようになります。

http://www.mysite.com/api/fruits.json?=<access token>

問題は、私のアクションの1つでも同じデータが必要になることです。

ここで助けが必要です。アクションの 1 つで上記の URL からデータを取得するには、URL でアクセス トークンも送信する必要があります。

このアクセス トークンを取得するにはどうすればよいですか??

アプリケーション内のそのようなすべての呼び出しに使用される固定トークンが必要ですか??

4

1 に答える 1

1

ここでやりたいことをやろうとすると、基本的なアプリケーションプロジェクトは多様化します。

基本的に、これには認証サーバーを実装する必要があります。i) まず、アプリをスコープに登録する必要があります。
ii) アプリを使用して、ユーザーは認証/認可サーバーにログインします。
iii) サーバーは、アプリがスコープにアクセスできるかどうか、およびユーザーがシステムに登録されているかどうかを確認します。
iv) サーバーがアクセス トークン (HMAC 署名付き文字列) を作成し、アプリに返します。
v) 次に、アプリはエンドポイント (安らかな API) にトークンをヒットします。
vi) 次に、RESTful サービスは内部的にトークンをサーバーに送信し、呼び出しが行われた顧客 ID をフェッチして、想定されているアクションを実行します。

OAuth サービス/プロバイダーの作成方法について一度回答を書きました -効率的な OAuth2.0 サーバー/プロバイダーはどのように機能しますか?

また、OAuth は、クライアント アプリ/サードパーティ ソフトウェアがユーザーに代わってユーザーのリソースにアクセスできるように設計されています。非常に単純な例は次のとおりです = あなたに代わってあなたの Facebook ウォールに何かを投稿するアプリ。実際には、所有しているリソース (ウォール) にアクセスして投稿しています。データを取得するためだけに OAuth は必要ありません。API を保護する方法は他にもあります。

于 2013-05-09T05:16:34.473 に答える