在我的Web应用程序中,当用户按下登录按钮时,我想让他选择一封电子邮件,然后检查我的数据库中是否有针对该电子邮件的刷新令牌(针对我需要的范围),以及是否有一个
问题在于,第一次登录时一切正常,但是在用户注销然后再次登录后,由于我使用gapi.auth2.getAuthInstance().signIn()
登录用户,因此会生成新的访问令牌。
第二次登录后,从第一次登录存储的刷新令牌不再起作用,并且使用该令牌进行的请求返回错误:
error: 'invalid_grant',
error_description: 'Token has been expired or revoked.',
这就是为什么我想以某种方式获取电子邮件,用户要从中登录,检查我是否有该电子邮件的刷新令牌(不撤消令牌),然后让用户登录或先要求刷新令牌
有什么办法可以满足我的需求?我试图在gapi.client.init
函数中传递一个空范围,并将真实范围传递给grantOfflineAccess
函数,但是空范围似乎对init函数无效。
我也不知道这是因为在登录时生成了新的访问令牌,因为为什么新的访问令牌会使旧的刷新令牌无效?
在此先感谢您的帮助。