2017-10-03 8 views
0

OAuth 2.0のフローでは、認証サーバーがリダイレクトエンドポイントに認証コードを送信し、Webページが保護されたAPIを照会するために別のアクセストークンを取得するために再度サーバーにアクセスする必要があります。アクセストークンと異なる認証コードは何ですか?

なぜトークンが2つ必要ですか?特に、誰かがこの設計なしで出現するセキュリティ攻撃/脆弱性の例を提供する可能性があります。

この投稿はFacebook OAuth 2.0 "code" and "token"ですが、デザインの背景にある理由を完全には説明していません。

答えて

0

バックチャネルの1つ(認証コード)がフロントチャネルで交換され、もう1つ(アクセストークン)が交換されます。最終目標はアクセストークンを取得することです。フロントチャネルは本質的に安全性が低いので、フロントチャネルに非常に短期間の使い捨ての一時的な資格証明(つまり認証コード)を送信して、バックチャネルで使用可能なアクセストークン。そのバックチャンネルコールは、ウェブサーバ(または:クライアント)が認可サーバに対して自身を認証し、適切なパーティを扱うことに関する保証を高めることも可能にする。

関連する問題