你知道如何在Rails上设计一个超时:token_authenticatable策略吗?
我设置了两个:timeoutable和:token_authenticatable
devise :database_authenticatable, :registerable,
:recoverable, :trackable, :validatable, :timeoutable,
:token_authenticatable, :lockable
如果我使用用户名和密码登录,则会正确考虑超时,并且我被要求再次重新登录,而我登录时设置的令牌没有给出任何超时并且它始终有效,直到我执行了正确的注销(因为我在destroy方法中设置了current_user.reset_authentication_token!)。 是否有一种简单的方法来设置令牌超时不是太干扰(即修改设计代码)或没有黑客(即有一个cron作业定期检查最后一次sign_in并在必要时重置令牌)?
感谢
答案 0 :(得分:1)
我用rake任务做了类似的事情:
namespace :app_name do
desc "reset all auth_tokens"
task :reset_auth => :environment do
users = User.find(:all)
users.each do |user|
user.reset_authentication_token!
end
end
end
然后是cron:
rake app_name:reset_auth