同じサーバー上で認証サーバーにAuthorization code
を要求してからAuthorization code
をAccess token
に交換する必要があるのはなぜですか? anAccess token
を発行せずに、直接anAuthorization code
を返さないのはなぜですか?私はそれが標準によって指定されていることを理解していますが、これの背後にいくつかのロジックがあるはずです。
「承認コード付与タイプ」が実装されることを意図されている方法は、公開クライアントと機密クライアントを持つWebアプリにあります。 authorization code
はリソース所有者によって承認され、ブラウザ(パブリッククライアント)はアプリケーションをコールバックURLにリダイレクトし、URLパラメータにauthorization code
を渡します。ブラウザはパブリッククライアントであるため、ここでtoken
を公開しないでください。代わりに、webappの(機密の)バックエンドがそのauthorization code
とclient_secret
を認証サーバーに渡し、それをトークンと交換します。
ワークフローをバックエンドに保持することで、token
とapi client_secret
を保護する方法がわかりますか?