https://opentutorials.org/course/3370
생활코딩님의 Express.js강의를 참고하였습니다.
1.Passport.js
Node.js 애플리케이션에서 사용자 인증을 쉽게 구현할 수 있도록 도와주는 미들웨어
다양한 인증 전략을 지원하며, 소셜 로그인, 로컬 사용자명/비밀번호 기반 인증까지 폭넓은 인증 방식을 제공합니다.
$npm install passport
$npm install passport-local //아이디 패스워드로그인 전략
2.예시코드
const passport = require('passport');
const LocalStrategy = require('passport-local').Strategy;
passport.use(new LocalStrategy(
function(username, password, done) {
// 사용자 인증 로직 (예: 데이터베이스에서 사용자 조회)
User.findOne({ username: username }, function(err, user) {
if (err) { return done(err); }
if (!user) { return done(null, false); }
if (!user.verifyPassword(password)) { return done(null, false); }
return done(null, user);
});
}
));
// 세션 저장
passport.serializeUser(function(user, done) {
done(null, user.id);
});
passport.deserializeUser(function(id, done) {
User.findById(id, function(err, user) {
done(err, user);
});
});
'BackEnd > Express.js' 카테고리의 다른 글
[Express.js] 플래시 메시지(Flash Message) (0) | 2024.09.22 |
---|---|
[Express.js] 세션, express-session (0) | 2024.09.18 |
[Express.js] 쿠키옵션 Secure, HttpOnly, Path, Domain (1) | 2024.09.11 |