无法从实时服务器中的 google 获取刷新访问令牌
can't get refresh access token from google in live server
我正在创建一个 google 应用程序来获取用户 google 帐户数据。当我在本地使用 access_type = 'offline' 的 oauth 2 时,它要求离线访问权限,我可以获得刷新访问令牌。但是,如果我对我的实时服务器使用相同的代码,它不会请求离线许可,而且我也无法获得刷新令牌。我正在为我的 laravel 使用 oriceon oauth 5 包 application.I 喜欢关注
$googleService = OAuth::consumer('Google');
$googleService->setAccessType('offline');`
你的建议对我很有帮助。谢谢
我找到了答案,实际上该应用程序将我的 access_token 存储在我的计算机 cookie 中,并且每次使用会话时它都会发送我的密钥,所以我无法获得刷新令牌。所以你需要做的是,你需要在你的重定向 uri 中添加一个名为 approval_prompt 的选项作为强制,例如 (redirect_uri/approval_prompt=force)。每次调用应用程序时,它都会询问离线访问令牌。检查以下link供您参考
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
我正在创建一个 google 应用程序来获取用户 google 帐户数据。当我在本地使用 access_type = 'offline' 的 oauth 2 时,它要求离线访问权限,我可以获得刷新访问令牌。但是,如果我对我的实时服务器使用相同的代码,它不会请求离线许可,而且我也无法获得刷新令牌。我正在为我的 laravel 使用 oriceon oauth 5 包 application.I 喜欢关注
$googleService = OAuth::consumer('Google');
$googleService->setAccessType('offline');`
你的建议对我很有帮助。谢谢
我找到了答案,实际上该应用程序将我的 access_token 存储在我的计算机 cookie 中,并且每次使用会话时它都会发送我的密钥,所以我无法获得刷新令牌。所以你需要做的是,你需要在你的重定向 uri 中添加一个名为 approval_prompt 的选项作为强制,例如 (redirect_uri/approval_prompt=force)。每次调用应用程序时,它都会询问离线访问令牌。检查以下link供您参考
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