web-dev-qa-db-ja.com

OAuth 2の認証コードの目的は何ですか?

同じサーバー上で認証サーバーにAuthorization codeを要求してからAuthorization codeAccess tokenに交換する必要があるのはなぜですか? anAccess tokenを発行せずに、直接anAuthorization codeを返さないのはなぜですか?私はそれが標準によって指定されていることを理解していますが、これの背後にいくつかのロジックがあるはずです。

2
Oleksandr

「承認コード付与タイプ」が実装されることを意図されている方法は、公開クライアントと機密クライアントを持つWebアプリにあります。 authorization codeはリソース所有者によって承認され、ブラウザ(パブリッククライアント)はアプリケーションをコールバックURLにリダイレクトし、URLパラメータにauthorization codeを渡します。ブラウザはパブリッククライアントであるため、ここでtokenを公開しないでください。代わりに、webappの(機密の)バックエンドがそのauthorization codeclient_secretを認証サーバーに渡し、それをトークンと交換します。

ワークフローをバックエンドに保持することで、tokenとapi client_secretを保護する方法がわかりますか?

2
Kyle Fennell