Rob*_*Rob 6 access-token passport.js
我无法跟踪此情况,但对于我的设置,isAuthenticated即使成功登录后也始终返回false.这是护照代码:
req.isAuthenticated = function() {
var property = 'user';
if (this._passport && this._passport.instance._userProperty) {
property = this._passport.instance._userProperty;
}
return (this[property]) ? true : false;
};
Run Code Online (Sandbox Code Playgroud)
但是快速浏览一下,我看不到_userProperty本地策略中的任何地方(对不起,如果我看起来不够努力),所以我想这可能就是为什么它总是返回错误?
我留下了我的应用程序代码的代码示例,但我觉得可能更容易快速查看我正在进行的工作的repo: passport api token sessionless
最终,我的目标是让logout在该样板项目中正常工作(目前它没有).
如果我原来的问题一开始就没那么有用,我很抱歉,但是......
我发现我的护照、护照本地和护照本地猫鼬的组合,解决方案是简单地在我的猫鼬模式上创建一个失效方法(具有passportLocalMongoose“插入”功能,当我的/logout路线受到攻击时,我基本上会删除该用户的令牌。这是该方法:
Account.statics.invalidateUserToken = function(email, cb) {
var self = this;
this.findOne({email: email}, function(err, usr) {
if(err || !usr) {
console.log('err');
}
usr.token = null;
usr.save(function(err, usr) {
if (err) {
cb(err, null);
} else {
cb(false, 'removed');
}
});
});
};
Run Code Online (Sandbox Code Playgroud)
我认为在上下文中看到这一点更有趣,所以请再次随意参考所列的存储库......希望这对某人有帮助。
另外,如果上述库之一的核心想要建议一种更好的方法,我当然很乐意重构我的代码以使其更惯用;如果没有,这种方法似乎有效。
| 归档时间: |
|
| 查看次数: |
17234 次 |
| 最近记录: |