0

我正在创建一个谷歌应用程序来获取用户谷歌帐户数据。当我在本地使用 access_type = 'offline' 的 oauth 2 时,它会要求离线访问权限,我可以获得刷新访问令牌。但是,如果我对我的实时服务器使用相同的代码,它不会要求离线许可,我也无法获得刷新令牌。我正在为我的 laravel 应用程序使用 oriceon oauth 5 包。我确实喜欢以下

    $googleService = OAuth::consumer('Google');
    $googleService->setAccessType('offline');` 

你的建议对我有帮助。谢谢你

4

1 回答 1

1

我找到了答案,实际上该应用程序将我的 access_token 存储在我的计算机 cookie 中,并且每次使用会话时都会发送我的密钥,所以我无法获得刷新令牌。所以你需要做的是,你需要在你的重定向uri中添加一个名为approval_prompt的选项作为强制(redirect_uri/approval_prompt=force)。每次应用程序调用时,它都会询问离线访问令牌。检查以下链接以供参考

支持approval_prompt: force获取新的`refresh_token

为什么当我再次将用户发送到 auth url 时,Google OAuth2 会重新请求用户许可

于 2015-06-22T11:09:07.810 回答