在数据库中存储Google刷新令牌?

时间:2017-05-30 12:50:00

标签: google-api oauth-2.0 google-oauth google-oauth2

我正在构建一个使用google选项登录的Web应用程序。最初,我们会询问用户的profileemail范围(离线访问)。作为回报,我们得到code

使用此代码,我请求refresh_token,然后access_token。这两个令牌都存储在客户端的cookie中(你可能会说在客户端存储refresh_token是一个坏主意)。

在我的应用中,我已经为用户提供了访问其驱动器文件的权限。为此,我使用增量范围。所以我向用户询问驱动器许可。作为回报,我得到code - >新refresh_token - >新access_token

但问题是:

当用户清除cookie或注销时。然后,当他登录时,会生成新的refresh_tokenaccess_token,其中只包含profileemail的范围。所以我必须再次询问用户他的驱动器权限。在他已经给予用户之后,我不想每次都要求用户获得驾驶许可。

可能的解决方案:

在服务器端存储refresh_token?这是正确的方法??

0 个答案:

没有答案