Google API: 正在使用 oauth 用户 ID 进行身份验证

Google API: Authenticating with oauth user id

在 google 用户在我的网站上进行身份验证后,使用 Google JS API,我得到用户的电子邮件、姓名、用户 ID 等。 我正在寻找一种方法将用户存储在我的服务器端并在他下次回来时识别 him/her。

我找到的解决方案是:"user ID is the only thing you'll need to store in the database to authenticate a user with your web framework"。

但我注意到,google 用户 ID 永远不会改变,此外,例如,您可以在 google 上看到每个用户 ID。这意味着,我的网站用户很容易被冒充。我应该使用什么来针对服务器端验证我的 google oauth 用户?

  1. 获取用户 access_token 并将其发送到服务器。
  2. 让服务器向 tokeninfo 端点发出请求。
  3. 存储 user_id 响应以将用户与未来的请求相关联。

access_token 是一个秘密,只有当前经过身份验证的用户知道,只要它有效,您就可以假设来自 Google 的 API 响应属于该用户。