Exi*_*tos 7 node.js express passport.js
我正在学习节点和表达.我正在尝试构建一个非常基本的应用程序,只需让用户使用json登录.然后将保持会话直到他们退出.使用asp.net这是一个轻而易举的你只需在配置中设置并调用...
Auth.Login(username,pasword)
Run Code Online (Sandbox Code Playgroud)
当他们退出时你只需:
Auth.logout()
Run Code Online (Sandbox Code Playgroud)
如果您需要检查他们是否已登录,您只需执行以下操作:
Auth.IsLoggedIn()
Run Code Online (Sandbox Code Playgroud)
或代码到那个效果.好像Passport for node就不那么简单了.我整晚都在努力工作......
app.post('/authentication/login', function handleLocalAuthentication(req, res, next) {
passport.authenticate('local', function(err, user, info) {
// Manually establish the session...
req.login({username:'me@me.com',password:'password'}, function(err) {
if (err) return next(err);
return res.json({
message: 'user authenticated'
});
});
})(req, res, next);
});
app.get('/authentication/isauthenticated',function(req,res){
console.log(req.isAuthenticated());
})
passport.use(new LocalStrategy(
function(username, password, done) {
return done(null, {username:'ss',password:'sffds'});
}
));
Run Code Online (Sandbox Code Playgroud)
所以现在我没有cookie,当我登录然后点击/authentication/isAuthenticated网址时没有会话持续存在.我甚至无法在战略中找到一个断点......
passport.use(new LocalStrategy(
function(username, password, done) {
console.log('ggg');
return done(null, {username:'ss',password:'sffds'});
}
));
Run Code Online (Sandbox Code Playgroud)
我在为此寻找错误的解决方案吗?我应该滚动自己的身份验证还是具有基本中间件功能的东西?
看看这个教程。这真的很棒,对我帮助很大。
这是我的存储库,它通过 mongoose 和哈希密码存储在 mongodb 中的用户实现了护照身份验证。克隆它或者只是检查一下,它应该会有所帮助。 https://github.com/thyforhtian/auth_base。
| 归档时间: |
|
| 查看次数: |
7545 次 |
| 最近记录: |