Google 网站签名流程。 IDToken 与访问令牌。我需要哪一个?
Google Sign Flow for Website. IDToken vs Access Token. Which one do I need?
我理想中想要实现的是能够使用 Google SignIn 登录,并在我的 Nodejs 服务器端点上进行身份验证。
到目前为止我所做的是在浏览器中登录用户,并将 IdToken 发送到服务器,使用此 link.
使用 verifyIdToken() 验证此 TokenId
问题:
验证后,我是否应该使用某些包生成 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
我理想中想要实现的是能够使用 Google SignIn 登录,并在我的 Nodejs 服务器端点上进行身份验证。
到目前为止我所做的是在浏览器中登录用户,并将 IdToken 发送到服务器,使用此 link.
使用 verifyIdToken() 验证此 TokenId问题: 验证后,我是否应该使用某些包生成 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