在谷歌开发者控制台下设置新的clientId时“授权的重定向URI”是强制性的吗?
Posted
技术标签:
【中文标题】在谷歌开发者控制台下设置新的clientId时“授权的重定向URI”是强制性的吗?【英文标题】:Is "Authorized redirect URI" mandatory when setting up a new clientId under google developers console? 【发布时间】:2014-10-13 13:37:12 【问题描述】:授权的重定向 URI 被 google 用于回调以传递授权令牌。
它也被谷歌用于验证。因此,当接收到实际的 oauth 请求时,google 会检查请求中给出的回调 url 是否与“授权重定向 URI”相同,否则会引发错误。
我的要求是阻止 google 进行此验证,因为我希望能够在运行时传递不同的回调 url。我尝试将“授权重定向 URI”设为空,但这不起作用。有什么建议吗?
【问题讨论】:
重定向 URI 必须与您在云开发者控制台中为您的应用程序设置的相同。 我可以在设置过程中将“授权重定向 URI”设置为空吗? LinkedIn api 允许你做类似的事情。当设置为空时,我可以在 api 中传递任何回调 url 并且它可以工作..想知道谷歌是否有类似的东西.. 你不能只从提供的 URI 自己路由回调吗? 【参考方案1】:不,授权重定向 URI 不是强制性的。
例如,请参阅https://developers.google.com/+/web/signin/javascript-flow
quickstart 示例甚至展示了如何使用不同的回调 URL
【讨论】:
【参考方案2】:是的,在 Google OAuth 2.0 中,虽然您可以在 REDIRECT URIS 中不设置任何 uri,但这没有任何意义。客户端注册和 oauth 流程(授权码流程和隐式流程)中需要重定向 uri。 缺少重定向 URI 注册要求可以使攻击者将授权端点用作an open redirector。
您提到 LinkedIn 启用了开放式重定向URI。这在安全方面是不可接受的。而且我注意到 LinkedIn 已经解决了这个问题。
为了使 LinkedIn 平台更加安全,以便我们能够遵守 OAuth 2 的安全规范,我们要求使用 OAuth 2 的用户在 2014 年 4 月 11 日之前向我们注册应用程序的重定向 URL .
这里是LinkedIn's announcement.
【讨论】:
以上是关于在谷歌开发者控制台下设置新的clientId时“授权的重定向URI”是强制性的吗?的主要内容,如果未能解决你的问题,请参考以下文章