2016-07-29 125 views
0

我正在使用不记名令牌基础验证。所以,当用户登录系统时,标志设置为TRUE并保存在数据库中。当他注销时,该标志被设置为false。验证不记名令牌问题?

但是,因为我使用的是令牌基础认证,因此当用户从浏览器中删除cookie时会出现问题。所以现在如果他清除了那些饼干,那么我的标志不会被设置为false。

在这里,我使用Angular.js,Node.js的和MongoDB

+0

所以你使用的标志主要检查是否用户登录或不? –

+0

什么是cookie将包含,请清楚解释问题,如什么问题是由于用户清除时造成的(不会将db属性设置为false) –

+0

@Ramesh它包含所有的认证数据,如用户相关的信息和标志,我哪在登录和注销时设置true和false。 –

回答

0

所以,当cookie的浏览器中被清除那么有没有办法可以识别用户相应的数据库记录时,请求进入。

所以,你需要运行cron或东西,定期从数据库中清除不需要的(已过期)的实体,即

随着标志,你还需要有dateAdded财产或(上次更改时间为准工作对你来说),那么你需要运行cron并删除所有早已创建或基于的实体访问令牌的到期时间。

确保您在cookie中存储的标识符是随机的,因此数据库实体会处于空闲状态一段时间,直到它被清除,但不能被任何人使用。