如何在设计中检测用户的访问令牌是否陈旧并因此将用户注销?
答案 0 :(得分:4)
你为什么需要这个?存在timeoutable
选项,允许跟踪会话超时。我可能错了,但令牌是有时间生存的cookie密钥,它们由浏览器跟踪。来自Devise(钩子):
每次设置记录时,我们都会检查其会话是否已超时 或不,基于上次请求时间。如果是,则记录并记录 重定向到登录页面。此外,每次请求来和 记录已设置,我们在其范围内的会话中设置最后一个请求时间 验证以下请求中的超时。
----更新(不要把它当作大的纪念)---
在大多数情况下,当您使用登录时,没有要求从外部服务获得身份验证。因此,在用户登录的情况下(即会话cookie存在且会话有效),同时她从外部服务注销,这意味着她可以使用您的网站,直到您的会话为止到期。同样,一旦用户需要身份验证,就会使用外部服务。因此,当您的网站上的会话过期并且用户尝试使用外部服务登录时,她将被重定向到她将登录的外部网站(如果已经登录则不会)。然后外部服务重定向回您的站点,提供回调(在大多数情况下路径为/ auth /:provider / callback),您的控制器(或devise
提供的默认值)将根据需要创建用户和他的会话