使用Google登录网站时刷新浏览器中过期的jwt

使用Google登录网站时刷新浏览器中过期的jwt,jwt,google-signin,Jwt,Google Signin,我主要学习了如何使用Google登录进行客户端身份验证、获取JWT以及使用Google的tokeninfo端点在服务器上验证每个请求的JWT的教程 除了令牌在60分钟后过期,我不知道如何刷新令牌之外,一切都很正常。此刷新不应涉及API服务器。客户端负责从身份验证服务(在本例中为谷歌)获取刷新的令牌,但我发现没有关于如何做到这一点的文档 我所观察到的是,id_令牌实际上是由gapi库在pass过期之前自动更新的,通常是在5分钟之前 authInstance = gapi.auth2.getAuth

我主要学习了如何使用Google登录进行客户端身份验证、获取JWT以及使用Google的tokeninfo端点在服务器上验证每个请求的JWT的教程


除了令牌在60分钟后过期,我不知道如何刷新令牌之外,一切都很正常。

此刷新不应涉及API服务器。客户端负责从身份验证服务(在本例中为谷歌)获取刷新的令牌,但我发现没有关于如何做到这一点的文档

我所观察到的是,id_令牌实际上是由gapi库在pass过期之前自动更新的,通常是在5分钟之前

authInstance = gapi.auth2.getAuthInstance()
currentUser = authInstance.currentUser.get()
authResponse = currentUser.getAuthResponse()
然后,您可以通过执行以下操作在获取id_令牌和过期的_:

authResponse.id_token
authResponse.expires_at
authResponse.listen(function (gUser) {
  const jwt = gUser.getAuthResponse().id_token
  // ...you now have an updated jwt to send in all future API calls
}
您可以通过执行以下操作来监视此更新:

authResponse.id_token
authResponse.expires_at
authResponse.listen(function (gUser) {
  const jwt = gUser.getAuthResponse().id_token
  // ...you now have an updated jwt to send in all future API calls
}

我有兴趣在没有听众的情况下做这件事,并找到了这个替代方案-