google使用授权的重定向URI进行回调以传递授权令牌。
它也被google用于验证。因此,当收到实际的oauth请求时,google检查请求中给出的回调url是否与"授权重定向URI"相同,如果不是,则抛出错误。
我的要求是防止谷歌做这个验证,因为我希望能够在运行时传递不同的回调url。我试着给"授权的重定向URI"为空,但这不起作用。有什么建议吗?
是的,在Google OAuth 2.0中,虽然您可以在REDIRECT uri中设置没有uri,但这没有任何意义。在客户端注册和验证流(授权代码流和隐式流)中需要重定向uri。缺少重定向URI注册要求可以使攻击者将授权端点用作开放的重定向器。
你提到LinkedIn启用了open redirectURI。这在安全性中是不可接受的。我注意到LinkedIn已经解决了这个问题。
为了使LinkedIn平台更加安全,因此我们可以遵守OAuth 2的安全规范,我们要求那些使用OAuth 2的人在2014年4月11日之前向我们注册您的应用程序的重定向url。
LinkedIn的公告
不,授权重定向URI不是必须的。
参见,例如https://developers.google.com/+/web/signin/javascript-flow
快速入门示例甚至展示了如何使用不同的回调url