0

私の質問はばかげているように見えるかもしれませんが、私は本当に理解していません.redirect_uriをリクエストからキャッチし、クライアントテーブルで指定されたURIと比較する目的は何ですか? セキュリティ上の問題によるものですか?

4

1 に答える 1

2

OAuth 2.0 の認可リクエストは署名されていないため、リダイレクト URI を事前登録すること自体がセキュリティ対策です。攻撃者は、リンクをクリックしてユーザーをフィッシングする可能性があり、その結果、攻撃者が制御するサイトを指す redirect_uri を含む承認要求が発生する可能性があります。

リクエスト自体でを送信するredirect_uriことはセキュリティ上の目的には役立ちませんが、この特定のクライアントに対して複数のリダイレクト URI が登録されている場合に、クライアントがどこで認可レスポンスを受け取りたいかを認可サーバーに知らせるためだけに存在します。

とにかく、redirect_uriパラメータは仕様によってオプションです。登録されているのが 1 つだけの場合、redirect_uriパラメーターは要求から省略できます。複数のリダイレクト URI が登録されていて、要求にリダイレクト URI が指定されていない場合、結果は不定です。

于 2015-12-03T14:30:13.657 に答える