Google 网站签名流程。 IDToken 与访问令牌。我需要哪一个?

Google Sign Flow for Website. IDToken vs Access Token. Which one do I need?

我理想中想要实现的是能够使用 Google SignIn 登录,并在我的 Nodejs 服务器端点上进行身份验证。

到目前为止我所做的是在浏览器中登录用户,并将 IdToken 发送到服务器,使用此 link.

使用 verifyIdToken() 验证此 TokenId

https://www.google.com/search?q=verify+idToke&rlz=1C5CHFA_enIN936IN936&oq=verify+idToke&aqs=chrome..69i57j0i13l2j0i13i30l3j69i60l2.12008j0j7&sourceid=chrome&ie=UTF-8

问题: 验证后,我是否应该使用某些包生成 access_token,并使用它来保护我服务器的 API?或者使用 Google SignIn 的 IdToken 作为它的访问令牌? 或者还有其他一些我没有得到的流程吗?

id_token 包含有关用户的信息,即电子邮件、姓名和个人资料照片。

如果这就是您的应用程序所需的全部,那么 access_token 对您没有用。

如果您尝试 access/modify 属于用户的数据(即尝试使用日历 api 将事件添加到他们的日历),那么您需要 access_token . access_token 将使您能够访问用户的帐户。如果您的应用程序请求离线访问用户数据,那么您还会收到一个名为 refresh_token 的东西,它可以让您在访问令牌过期后重新生成它。如果您将刷新令牌添加到 oAuthClient,它应该会在您进行 api 调用时自动为您更新访问令牌。

根据您的描述,我认为您不需要 access_token,而 id_token 可能就是您所需要的。

此页面上提供了更多信息:https://developers.google.com/identity/protocols/oauth2