如何防止门卫OAuth自动刷新令牌?

如何防止门卫OAuth自动刷新令牌?,oauth,google-chrome-extension,doorkeeper,Oauth,Google Chrome Extension,Doorkeeper,我正在使用Door Keeper gem在Rails应用程序中提供OAuth。客户端是一个Chrome扩展 我在doorkeeper.rb中注释了“使用刷新令牌”,并将“访问令牌到期”设置为1分钟。我认为这会迫使客户在一分钟后重新验证。但是,无论是否存在use\u refresh\u令牌,重新身份验证都会自动进行 当存在use_refresh_令牌时,每次访问令牌过期时,都会向“oauth_access_令牌”添加一个新行。“oauth\u访问授权”中未添加新行 使用use_refresh_标记

我正在使用Door Keeper gem在Rails应用程序中提供OAuth。客户端是一个Chrome扩展

我在doorkeeper.rb中注释了“使用刷新令牌”,并将“访问令牌到期”设置为1分钟。我认为这会迫使客户在一分钟后重新验证。但是,无论是否存在use\u refresh\u令牌,重新身份验证都会自动进行

当存在use_refresh_令牌时,每次访问令牌过期时,都会向“oauth_access_令牌”添加一个新行。“oauth\u访问授权”中未添加新行

使用use_refresh_标记,注释掉的新行将添加到两个表中。如果客户端正在手动重新验证,我会想到这一点。但这似乎是自动发生的——正如我所希望的,用户无需通过OAuth登录屏幕重新验证应用程序,就可以被授予访问权限


为我的无知道歉,我对Doorkeeper和OAuth都是新手,还没有找到关于Google等的任何线索。

OAuth 2.0正在运行,因为它正在发送授权URI以授权url来获取访问令牌,而当用户未被授权获取令牌时,服务器将其重定向到登录页面,我认为在您的情况下,到期时间太短,因此当用户首次输入用户名和密码时打开的会话仍然有效,因此当您的客户端请求新令牌时,它会得到它,因为用户仍在授权服务器上登录,您可以将会话时间更改为小于令牌有效性时间并对其进行测试。

在研究这一点时,我发现Google API支持批准提示参数,该参数接受“强制”值。这就是我试图用Doorkeepert复制的行为。就是这样,我有点不好意思说——我处理的是不同的子域,没有意识到用户仍然是经过授权的。由于用户仍然登录,oauth提供程序刚刚刷新了令牌。当我整理出子域并正确地将用户注销时,它的行为与预期的一样。谢谢波波。