【发布时间】:2019-12-20 10:41:34
【问题描述】:
我正在通过 Google 在我的网站中实现单点登录,它运行良好,但是:我需要它来支持网站的各种实例。
这是一个问题,因为 Google 似乎不支持重定向 URL 中的任何动态。来自docs 关于重定向网址:
确定 API 服务器在用户访问后将用户重定向到哪里 完成授权流程。该值必须与以下之一完全匹配 OAuth 2.0 客户端的授权重定向 URI,您 在 API 控制台中配置。
至少可以说这很烦人;没有通配符,没有查询字符串变化 - 必须与您存储在控制台中的值完全匹配。
所以我的问题是:有没有人知道有什么方法可以告诉 Google 的身份验证服务将自定义数据附加返回到重定向 URL?
我在想类似的事情
$google->setRedirectUri('http://example.com/foo');
//pseudo code...
$google->setCustomRedirectData([
'foo' => 'bar'
]);
...会生成
http://example.com/foo?code=...&other_google_params=...&foo=bar
有什么办法吗,还是我别无选择,只能手动指定每个重定向 URL?
【问题讨论】:
-
我们为此使用
state参数。 -
我们在发送用户进行身份验证之前给用户一个会话值,并在他们返回时检查它
-
@ceejayoz 谢谢,我会调查的。实际上我刚刚做到了,可以看到它确实是我需要的。如果您将其发布为答案,我会接受。
-
@tim - 我应该说网站的变化涉及不同的域,所以这不是一个选择,但谢谢。
-
不是一个选项 - 域太多,而且每天都会添加。无论如何,谢谢。
标签: php google-api single-sign-on google-oauth