11

Implicit Grant では、アクセス トークンはコールバック URL で返されます。このコールバック URL がホップにキャッシュされている場合、これはセキュリティ リスクではありませんか。一般に、URL パラメーターで機密データを送信しないことをお勧めします。このアクセス トークンは、保護されたすべてのユーザー リソースにアクセスするためのトークンになります。では、なぜURLのフラグメントとして渡されるのですか

4

3 に答える 3

8

うーん、上記の回答には誤解があると思います。TLS を使用すると URL クエリ文字列が保護されるため、アクセス トークンは飛行中に保護されますが、ユーザーのブラウザー (履歴の一部) と宛先 Web ブラウザーのログにも公開されます。ほとんどの Web ブラウザーは、着信要求の URL 全体をログに記録します。これは、クエリ文字列がサードパーティのサイトに渡される「リファラー」リークの問題として知られる追加の問題です。良い概要は次の場所にあります。

http://blog.httpwatch.com/2009/02/20/how-secure-are-query-strings-over-https/

于 2013-12-14T03:04:16.883 に答える
2

@vlatkoの応答について詳しく説明しています...

フラグメントで (または他の OAuth2 許可を介して) トークンを送信するリスクを軽減するには:

(@vlatko が言ったように) 有効期間の短いアクセス トークンを発行すると、リークされたトークンの影響が軽減されますが、予防策ではありません。

于 2013-01-15T09:26:37.660 に答える
2

ご指摘のとおり、トークンには URI フラグメントが渡されます。ブラウザは URL のフラグメントを HTTP サーバーに送信しないため、誰かが盗聴してアクセス トークンを取得する可能性は大幅に減少します。

暗黙的な付与フローで有効期間が短いアクセス トークンのみを発行するなど、追加のセキュリティ対策もあります。

詳細については、OAuth2脅威モデルのドキュメントを参照してください。

于 2013-01-15T00:30:27.940 に答える