0
나는 내 웹 사이트에 사용자를 인증하기 위해 노력하고있어 "로컬"나는이 오류가 발생했습니다알 수없는 인증 전략
'로컬 로그인'
내가 변화 시도했습니다 알 수없는 인증 전략 전략의 이름, 다른 스레드를 읽었으나 솔루션을 찾지 못했습니다. 그런 다음
...
..
app.use(passport.initialize());
app.use(passport.session());
를 다음과 같이 사용 : 당신의 app.use()
방법 전에
const passport = require('passport');
const LocalStrategy = require('passport-local').Strategy;
을 :
npm install passport passport-local --save
그런 다음 아래처럼 여권을 가져옵니다과 설치를 확인
// Passport
module.exports = function(passport) {
passport.serializeUser(function(user, done) {
done(null, user.id);
});
passport.deserializeUser(function(id, done) {
connection.query('SELECT * FROM `users` WHERE `id` = ' + connection.escape(id), function(err, rows) {
done(err, rows[0]);
});
});
passport.use('local-login', new LocalStrategy({
usernameField : 'username',
passwordField : 'password'
},
function(req, username, password, done) {
connection.query('SELECT * FROM `users` WHERE `username` = ' + connection.escape(username), function(err, rows) {
if(err)
return done(err);
if(!rows.length) {
return done(null, false, req.flash('loginMessage', 'Invalid username or password. Please try again.'));
}
if(!(rows[0].password == password))
return done(null, false, req.flash('loginMessage', 'Invalid username or password. Please try again.'));
return done(null, rows[0]);
});
}));
}
// Express Router
app.use(sessionMiddleware);
app.use(passport.initialize());
app.use(passport.session());
app.use(flash());
app.use('/static', express.static('./static'));
app.post('/login/auth', passport.authenticate('local-login', {
successRedirect: '/dashboard',
failureRedirect: '/',
failureFlash: true
}));
/여권 라우터에 마지막으로
을 (필요는 첫 번째 인수로 '로컬 로그인'을 포기하지합니다) ? 그 파일이 없습니다 – GhoSTBG
@GhoSTBG 업데이트 된 답변을 확인하십시오. – gokcand
여전히 작동하지 않습니다. – GhoSTBG