0

我的问题可能看起来很愚蠢,但我真的不明白 - 从请求中捕获 redirect_uri 并将其与客户端表中指定的 URI 进行比较的目的是什么?是因为安全问题吗?

4

1 回答 1

2

预注册重定向 URI 本身是一种安全措施,因为 OAuth 2.0 中的授权请求未签名。攻击者可能会在用户单击链接时进行网络钓鱼,该链接会导致授权请求,其中 redirect_uri 指向他们控制的站点。

在请求中发送redirect_uri本身并不出于安全目的,而只是为了让授权服务器知道客户端想要在哪里接收授权响应,以防为该特定客户端注册了多个重定向 URI。

无论如何,该redirect_uri参数是规范的可选参数。如果只注册了一个,则redirect_uri请求中可能会省略该参数。如果注册了多个重定向 URI 并且在请求中没有提供重定向 URI,则结果未指定:AS 可能选择第一个,任何一个或一个都不选择。

于 2015-12-03T14:30:13.657 回答