ruby 如何在gem devise_token_auth中启用“记住我”功能?

v6ylcynt  于 2023-06-22  发布在  Ruby
关注(0)|答案(1)|浏览(95)

我在Ruby on Rails Web应用程序中使用gem devise_token_auth进行身份验证。我想知道在使用devise_token_auth时如何实现“记住我”功能。
默认情况下,当我发出一个remember_me字段设置为true'1'的请求时,“记住我”功能似乎不起作用。下面是登录请求的示例:

POST http://localhost:3000/auth/sign_in
{
    "email": "....",
    "password": "...",
    "remember_me": true
}

我已经查看了配置,但没有找到任何合适的选项来启用devise_token_auth中的“记住我”功能。
有人可以指导我如何正确启用“记住我”功能时,使用devise_token_auth?我是否遗漏了任何特定的配置或步骤?
提前感谢您的任何帮助或建议。

uqjltbpv

uqjltbpv1#

出于安全原因,devise_token_auth没有提供这样的remember-me功能。引用他们的README
[...]这个gem会在每次请求时刷新令牌,并在短时间内使它们过期,因此应用程序是安全的。[...]
但是gem允许您配置令牌的生命周期,默认情况下为2周。例如,在config/initializers/devise_token_auth.rb文件中,您可以将其设置为一年后到期:

DeviseTokenAuth.setup do |config|
  # [...]

  # By default, users will need to re-authenticate after 2 weeks. This setting
  # determines how long tokens will remain valid after they are issued.
  config.token_lifespan = 1.year
end

相关问题