<서버 코드>
app.post('/login',passport.authenticate('local',{
failureRedirect:'/fail'
}), function(req,res){
res.send('로그인성공')
})
passport.use(new LocalStrategy({
usernameField : 'email',
passwordField : 'pwd',
session : true,
passReqToCallback: false,
}, function(input_id, input_pwd, done){
console.log(input_pwd)
db.collection('user_info').findOne({email:input_id}, function(error,result){
if(error) return done(error)
if(!result) return done(null, false, {message: '존재하지 않은 아이디입니다'})
if(input_pwd == result.pwd){
return done(null,result)
}else{
return done(null,false,{message:'틀린 비밀번호입니다'})
}
})
}))
passport.serializeUser(function(user,done){
done(null,user.email)
})
passport.deserializeUser(function(id,done){
done(null,{})
})
app.get('/mypage', logined, function(req,res){
console.log(req.user)
res.send({user:req.user})
})
<프론트단 코드>
1. login.js
<Button variant="outline-success" onClick={()=>{
axios.post('http://localhost:3000/login',login).then((result)=>{
if(result=='로그인성공'){
alert('환영합니다')
navigate('/')
}
})
}}>로그인</Button>
2. mypage.js
axios.get('http://localhost:3000/mypage').then((result)=>{
console.log(result)
})
mypage는 각 user들이 가진 id가 부착되어 접근하게 하려고 합니다. ex) mypage/0 이면 id가 0번인 유저의 mypage
세션 생성되는것까진 확인했는데 로그인 성공시 환영합니다 alert도 안되고 페이지 이동도 안하고 mypage의 axios부분은 어떻게 해야될지 감이 오지 않습니다.ㅠㅠ