实现 Google 一键注册和自动登录的指南

Guidance implementing Google One tap sign-up and automatic sign-in

我正在尝试实施 Google 的 一键注册和自动登录.

我可以成功提示用户登录,从 Google 获取 ID 令牌,并在服务器上对其进行验证。我迷路的地方是,一旦我拥有 ID 令牌,我该如何处理它? Google's documentation 含糊不清。

我的印象是我将某些内容发送回浏览器以存储在会话存储中,但我发送了什么以及我如何使用它来验证用户在未来的请求中是否已通过身份验证。

如果您在该指南中一直达到 "Create an account or session",那么您几乎已经解决了与 Google Identity 集成的问题。

从 Google 的角度来看,return 对浏览器没有任何影响。客户端API取回token,你发给你的服务器,你的服务器用它成功验证提取用户Google账号信息,认证完成。

接下来会发生什么是你的决定。这取决于您的网站如何处理用户的详细信息(例如,在您的数据库中创建一个用户,在他们接下来的访问中做一些事情来记住他们)。

Google身份不是授权,只是认证。它提供身份 ("who is this user?"),而不是权限 ("what is the user allowed to do?"、"How long should I trust this session for?")。用户权限是一个单独的问题。

为了记住用户以供将来请求,您通常会在服务器上创建一个唯一的、一次性不可预测的会话令牌,并将其存储在一个仅限 HTTP 的安全会话 cookie 中。如前所述,这与 Google 身份无关。