【问题标题】:Oauth2 server redirect URIOauth2 服务器重定向 URI
【发布时间】:2015-12-03 22:30:13
【问题描述】:

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

【问题讨论】:

    标签: oauth-2.0 oauth2-server


    【解决方案1】:

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

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

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

    【讨论】:

    • 那么,我只需要比较请求中指定的redirect_uri的主机吗?
    • 否,因为 redirect_uri 所在的部分网站或主机可能由客户端以外的其他人控制。严格匹配是最好的安全方式。
    • 但是如果请求中的重定向uri必须与我的服务器中已经注册的uri严格匹配,为什么我不能使用它(在我的服务器中指定的uri)进行重定向?
    猜你喜欢
    • 2013-11-19
    • 2022-08-08
    • 2012-07-22
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-04
    相关资源
    最近更新 更多