在谷歌开发者控制台下设置新的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”是强制性的吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何在谷歌同意屏幕中添加徽标?

如何在谷歌开发者控制台中启用 Android Vitals?

在谷歌Play商店更新时出错的应用程序引入新的谷歌政策后

在谷歌浏览器开发人员中重播 HTTP POST

我们可以发布在谷歌开发者控制台中未发布的应用程序吗?

当我在谷歌播放控制台上发布我的应用程序包时出错