1

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

我在 doorkeeper.rb 中注释掉了“use_refresh_token”,并将“access_token_expires_in”设置为 1 分钟。我认为这会迫使客户在一分钟后重新进行身份验证。但是无论 use_refresh_token 是否存在,重新认证都会自动发生。

存在 use_refresh_token 时,每次访问令牌过期时都会向“oauth_access_tokens”添加一个新行。没有新行添加到“oauth_access_grants”。

使用 use_refresh_token 注释掉的新行将添加到两个表中。如果客户端手动重新验证,我会期望。但它似乎是自动发生的——用户被授予访问权限,而无需通过 OAuth 登录屏幕重新验证应用程序,正如我所愿。

为我的无知道歉,我是 Doorkeeper 和 OAuth 的新手,在 Google 等人上没有找到任何线索。

4

1 回答 1

0

OAuth 2.0 正在工作,因为它正在发送授权 URI 以授权 url 以获取访问令牌,并且虽然用户无权获取令牌,但服务器将他重定向到登录页面,我认为在您的情况下,及时过期是太短了,所以当用户第一次输入用户名和密码时打开的会话仍然有效,所以当您的客户端要求新令牌时它正在获取它,因为用户仍在授权服务器上登录,您可以将会话时间更改为小于令牌有效时间并测试它。

于 2013-04-28T14:14:53.767 回答