我正在创建一个google应用程序来获取用户的Google帐户数据。当我在本地使用oauth 2和access_type =' offline'时,它会要求离线访问权限,我可以获得刷新访问令牌。但是,如果我为我的实时服务器使用相同的代码,它不会要求离线许可,我也无法获得刷新令牌。我正在使用oriceon oauth 5软件包进行我的laravel应用程序。我确实喜欢以下
$googleService = OAuth::consumer('Google');
$googleService->setAccessType('offline');`
你的建议对我有帮助。谢谢
答案 0 :(得分:0)
我找到了答案,实际上应用程序将我的access_token存储在我的计算机cookie中,并且每次使用会话时都会发送我的密钥,因此我无法获得刷新令牌。所以你需要做的是,你需要在你的重定向uri(redirect_uri / approval_prompt = force)中添加一个名为approval_prompt的选项作为强制。每次应用程序调用时,它都会询问脱机访问令牌。请查看以下链接以供参考
support approval_prompt: force
to get new `refresh_token
Why does Google OAuth2 re-ask user for permission when i send them to auth url again