2015-12-03 75 views

回答

1

预先注册重定向URI本身是一种安全度量,因为OAuth 2.0中的授权请求未经过签名。攻击者可以通过点击一个链接来钓鱼用户,该链接将导致一个redirect_uri指向他们控制的网站的授权请求。

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

redirect_uri参数可以按规格随意选择。如果只有一个注册,则请求中可以省略redirect_uri参数。如果注册了多个重定向URI,并且请求中没有提供重定向URI,则结果未指定:AS可以选择第一个,任何人或任何一个。

+0

所以,我只需要比较请求中指定的redirect_uri的主机? –

+0

否,因为redirect_uri所在的网站或主机的部分可能由客户控制。严格的匹配是最好的安全策略。 –

+0

但是,如果请求中的重定向uri必须严格符合已经在我的服务器中注册的uri,为什么我不能使用它(uri在我的服务器中指定)重定向? –