Google auth - 有什么方法可以在重定向 URL 中发回自定义数据吗?

Utk*_*nos 3 php google-api single-sign-on google-oauth

我正在通过 Google 在我的网站中实现单点登录,并且工作正常,但是:我需要它来支持网站的各种实例。

这是一个问题,因为 Google 似乎不支持重定向 URL 中的任何形式的动态性。来自有关重定向 URL 的文档

确定用户完成授权流程后 API 服务器将用户重定向到的位置。该值必须与您在 API 控制台中配置的 OAuth 2.0 客户端的授权重定向 URI 之一完全匹配。

至少可以说,这很烦人;没有通配符,没有查询字符串变体 - 必须与您在控制台中存储的值完全匹配。

所以我的问题是:有谁知道有什么方法可以告诉 Google 的身份验证服务返回附加到重定向 URL 的自定义数据吗?

我在想类似的事情

$google->setRedirectUri('http://example.com/foo');

//pseudo code...
$google->setCustomRedirectData([
    'foo' => 'bar'
]);
Run Code Online (Sandbox Code Playgroud)

...这会产生

http://example.com/foo?code=...&other_google_params=...&foo=bar
Run Code Online (Sandbox Code Playgroud)

有什么办法可以做到这一点,或者我别无选择,只能手动指定每个重定向 URL?

cee*_*yoz 5

state我们为此使用参数。在我们的例子中,我们只需要存储少量数据(用户来自哪个通配符子域或自定义域)并且它非常有效。

它的格式由您决定。我们将一些(非敏感)JSON 进行 Base64 编码。