0

私はdeviseで認証された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 分間非アクティブになった後でも、セッションは期限切れになりません。ここで何が欠けているか/間違っているかを理解するために助けが必要です。どんな助けでも大歓迎です。

前もって感謝します。

4

1 に答える 1