Google chrome extension OAuth 2.0响应中没有刷新\u令牌

Google chrome extension OAuth 2.0响应中没有刷新\u令牌,google-chrome-extension,oauth-2.0,Google Chrome Extension,Oauth 2.0,我正在开发一个Google Chrome扩展,正在使用Boris Smus Oauth 2.0库 身份验证交换完成,但是,我遇到的问题是,即使我在授权期间指定了access\u type=offline,我在交换期间也从未收到刷新\u令牌,只接收access\u令牌、expires\u in和token\u type 我的直觉是,这是因为在我的API访问设置中,OAuth2被设置为web应用程序,而web应用程序不被授予脱机访问权限。是否有人知道这是正确的,或者已经能够让它工作 提前感谢。根据,

我正在开发一个Google Chrome扩展,正在使用Boris Smus Oauth 2.0库

身份验证交换完成,但是,我遇到的问题是,即使我在授权期间指定了access\u type=offline,我在交换期间也从未收到刷新\u令牌,只接收access\u令牌、expires\u in和token\u type

我的直觉是,这是因为在我的API访问设置中,OAuth2被设置为web应用程序,而web应用程序不被授予脱机访问权限。是否有人知道这是正确的,或者已经能够让它工作

提前感谢。

根据,刷新令牌是可选的,在隐式授权和客户端凭据授权中不受支持

既然你提到了access_type=offline,我猜你在使用Facebook API。OAUTH实现的章节还说Facebook不返回刷新令牌


请阅读。

我通过在授权url中添加可选的approval\u prompt=force参数,成功地解决了这个问题。默认情况下,审批提示设置为“自动”。当设置为“强制”时,刷新令牌将在令牌交换过程中出现。

对于Google的OAuth客户端,您需要在参数中设置提示符=同意,以便每次获取刷新令牌

作为谷歌,不要为后续登录提供刷新令牌。它仅在用户首次允许访问时提供刷新令牌


有关更多信息,请检查此

在我的情况下,它根本没有设置为脱机。当我使用移动应用程序客户端ID时,它假定为脱机,然后当我切换到使用web客户端ID时,它停止工作(不假定为脱机)。非常奇怪的是,当我认为这是刷新令牌的整个点时,没有为脱机访问提供刷新令牌。如果你对此有任何更新,请分享!