wil*_*ksn 5 oauth google-oauth oauth.io
我正在尝试从OAuth.io获取任何基于Google的提供商的访问权限,但每当我进行身份验证时,我都会获得access_token但没有refresh_token.我已经为access_type选择了离线,但仍然没有快乐.
我已经尝试查看文档以获得解决方案,但它几乎不涉及与刷新令牌相关的任何内容.
Thi*_*ult 10
要从Google获取刷新令牌,您需要两件事:
离线选项cf https://developers.google.com/accounts/docs/OAuth2WebServer
"可用于获取新访问令牌的令牌.刷新令牌在用户撤销访问权限之前有效.仅当授权码请求中包含access_type = offline时,才会出现此字段."
选项approval_prompt设置为"强制"cf https://developers.google.com/accounts/docs/OAuth2WebServer
"重要提示:当您的应用程序收到刷新令牌时,存储该刷新令牌以供将来使用非常重要.如果您的应用程序丢失了刷新令牌,则必须在获得另一个刷新令牌之前重新提示用户同意.如果您需要重新提示用户同意,在授权代码请求中包含approval_prompt参数,并将值设置为强制."
所以你的脚本看起来应该是这样的
OAuth.popup('google', {
authorize: {
approval_prompt: 'force'
}
}).then(function(google) {
console.log(google.refresh_token)
//send the refresh token to your server
})
Run Code Online (Sandbox Code Playgroud)
如果您正在使用客户端(Javascript/iOS/Android/Phonegap),您可能还需要激活以下选项:Send refresh token to front-end在OAuth.io仪表板>常规>高级选项中,以允许客户端SDK检索刷新令牌
https://jsfiddle.net/Lqyc5jpw/
| 归档时间: |
|
| 查看次数: |
1757 次 |
| 最近记录: |