我有一个已通过设计验证的 rails-grape api 应用程序。现在我正在尝试使用 api 实现自动会话超时。为此,我实现了 devise_auth_token gem。
我的 devise_auth_token.rb
DeviseTokenAuth.setup do |config|
config.change_headers_on_each_request = false
config.token_lifespan = 60.seconds
config.batch_request_buffer_throttle = 30.seconds
end
我已经运行了文档中提到的安装命令。
rails g devise_token_auth:install User auth
我已经更新了我的迁移文件,例如:
class DeviseTokenAuthCreateUsers < ActiveRecord::Migration[5.2]
def change
## Required
add_column :users, :provider, :string, null: false, default: "email"
add_column :users, :uid, :string, null: false, default: ""
## Tokens
add_column :users, :tokens, :json
add_index :users, [:uid, :provider], unique: true
end
end
我的路线.rb
devise_for :users, ActiveAdmin::Devise.config
# token auth routes available at /api/v1/auth
namespace :api do
scope :v1 do
mount_devise_token_auth_for 'User', at: 'auth'
end
end
如您所见,我将 token_lifespan 保持为 60 秒。但即使在我闲置近 5 分钟后,我的会话也不会过期。我需要帮助来了解我在这里缺少/做错了什么。任何帮助将不胜感激。
提前致谢。