2013-08-20 13 views
9

最近私はOAuth2を調べていますが、私は承認プロセスを理解していると思います。OAuth2(Bearer)トークンがACLに変換する方法

要求がたりすることはできませんアクセスできるかどうかを決定はaccess_tokenに基づいて行われているか、許可が場所とaccess_tokenをとっているとrefresh_tokenは、呼び出しを行うために設立された後しかし、私が理解していないようだが、あります特定のリソースですか?

I.e.写真を要求するためにトークンがサーバーに送信されます。サーバー上のロジックは、特定のトークンに基づいて、その特定の写真へのアクセスを許可または拒否する方法を決定しますか?

答えて

3

access_tokenは、通常、不透明アーチファクトです。それをリソース(特定の写真など)に関連付ける固有のものはありません。承認フローが開始されると、通常、必要なアクセスを定義する特定のscopeを要求します。リソースの所有者がこのアクセスに同意すると、要求は成功します。ユーザーもアクセスを取り消すことができます。

すべてこれはアプリ固有のコードです。各アプリは、スコープの内容とチェックの実施方法を定義します。

例としてAuthorization Serverを探索するとよいでしょう。

+0

OAuth(2)でもう少し経験があれば、この答えは実際には正解です。 – Luke

4

アクセストークンは実際には暗号化オブジェクトです。このオブジェクトはスコープを定義し、承認を再確立することがあります。

HMACの暗号化されたトークンを提供するサービスプロバイダを想像しても、エンドポイントはそれを解読する方法を知っているとします。

{"scope":"Photos", "userID":"3refefe"} 

だから、基本的にあなたにトークンを介して処理モジュールは、このJSON(またはその他の形式)オブジェクトを暗号化して、あなたに暗号化されたトークンを与える:復号化で、それはのような情報を持っているでしょう。 APIエンドポイントにヒットすると、復号化ロジックにトークンが送信され、このJSONオブジェクトが取得されるため、すべての権限を取得できます。

このオブジェクトは、サービスプロバイダーに応じて任意のタイプの情報を任意の形式で含むことができます。私は説明しました how an OAuth provider works here.

これは、ミニマリストのOAuthフレームワークの基礎を説明する必要があります。

+1

トークンの内部でパーミッションをエンコードするという面白い考え。ありがとう! – Luke

+0

最後に、これら2つのapporachesのどれが使用されていますか? OAuthを実装する認証サーバーの例と、エンコードスコープの方法を教えてください。 – Pietrko

関連する問題