用于网站的 Google 登录 - 如何获取令牌

Posted

技术标签:

【中文标题】用于网站的 Google 登录 - 如何获取令牌【英文标题】:Google Sign-in for websites - How to get token 【发布时间】:2017-11-30 00:43:48 【问题描述】:

我正在使用 Google 登录网站。 https://developers.google.com/identity/sign-in/web/

根据文档,在函数 onSignIn(googleUser) 下,我使用 googleUser.getAuthResponse().id_token 获得了一个 ID_Token

但显然这不是我将来可以用来撤销的access_token。如何从 googleUser 对象获取客户端的access_token

【问题讨论】:

【参考方案1】:

经过几个小时的努力,我终于得到了 Google 开发人员的答复。

使用以下行。在getAuthResponse 函数中传递true 将返回access_tokenexpiry。这是推荐的解决方案。

googleUser.getAuthResponse(true).access_token;

【讨论】:

【参考方案2】:

检查回调中的googleUser。您会在其中找到Zi 属性。在该对象中,您还可以找到 access_tokenexpire 次。

function onSignIn(googleUser) 
    console.log(googleUser.Zi);

【讨论】:

以上是关于用于网站的 Google 登录 - 如何获取令牌的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Google Sign-In Javascript SDK 获取访问令牌?

Android:如何通过 Google 登录 API 获取刷新令牌?

SPA 使用的经过身份验证的 Rest API:如何获取用于登录和注册表单的 CSRF 令牌?

IdentityServer4:如何为 Google 用户设置角色?

如何使用访问令牌获取 Google 日历事件

用户从 Android 中的 Gmail 登录后如何获取访问令牌?