严格的来说是 warden 的回调方法
需求:我使用 devise 的 token 验证模块,需要在登录时,重置一次 token。
方法:
Warden::Manager.after_authentication do |user,auth,opts|
user.reset_authentication_token!
end
Warden::Manager.before_logout do |user,auth,opts|
user.reset_authentication_token!
end
warden 一共有 4 个回调方法
after_set_user
after_authentication
before_failure
before_logout
其中 after_set_user 是在每一次请求 devise 验证时都会调用,所以可以做自己的登录超时机制使用
参考文档: