如何在护照nodejs中进行修理
我想知道如何在
我尝试使用此req.isauthenticated()的nodejs中使用Passport进行插入,但是即使浏览器具有cookie session,并且登录
req.isAuthenticated()
I config passport.ts, 它仍可使用false
false 像这样
import { Request } from 'express';
const passport = require('passport');
const LocalStrategy = require('passport-local').Strategy;
module.exports = (userRepository: any) => {
passport.serializeUser((user: any, done: any) => {
console.log("serializeUser good");
done(null, user);
});
passport.deserializeUser((user: any, done: any) => {
console.log("deserializeUser good");
console.log("deserializeUser user : ", user);
done(null, user);
});
passport.use(new LocalStrategy({
usernameField: 'id',
passwordField: 'pw',
session: true,
passReqToCallback: false,
}, async (id: any, pw: any, done: any) => {
const result = await userRepository.findOne({
where: {
userId: id
}
});
if (!result) {
return done(null, false, { message: 'it dont exist pw or id' });
}
return done(null, { userId: result.userId });
}))
}
,我已经使用了这样的
const passportConfig = require('./passport');
passportConfig(userRepository); // userRepository is entity typeorm
app.post('/login', passport.authenticate('local', {
failureRedirect: 'http://localhost:3001/Login'
}), (req, res) => {
res.redirect('http://localhost:3001/');
})
。
护照 利巴里?
What i wonder is how to athorization by passport in nodejs
i've tried to use this req.isAuthenticated(), but it alway works false
even if browser has cookie session, and logined
req.isAuthenticated()
I config passport.ts like this
import { Request } from 'express';
const passport = require('passport');
const LocalStrategy = require('passport-local').Strategy;
module.exports = (userRepository: any) => {
passport.serializeUser((user: any, done: any) => {
console.log("serializeUser good");
done(null, user);
});
passport.deserializeUser((user: any, done: any) => {
console.log("deserializeUser good");
console.log("deserializeUser user : ", user);
done(null, user);
});
passport.use(new LocalStrategy({
usernameField: 'id',
passwordField: 'pw',
session: true,
passReqToCallback: false,
}, async (id: any, pw: any, done: any) => {
const result = await userRepository.findOne({
where: {
userId: id
}
});
if (!result) {
return done(null, false, { message: 'it dont exist pw or id' });
}
return done(null, { userId: result.userId });
}))
}
and then, i've used passport.ts like this
const passportConfig = require('./passport');
passportConfig(userRepository); // userRepository is entity typeorm
app.post('/login', passport.authenticate('local', {
failureRedirect: 'http://localhost:3001/Login'
}), (req, res) => {
res.redirect('http://localhost:3001/');
})
as i said, the problem is req.isAuthenticated(), but it alway works false
how can i use to athorization by passport libary?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论