인프런 커뮤니티 질문&답변

Zisoo Zzoi님의 프로필 이미지
Zisoo Zzoi

작성한 질문수

Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해

passport기반 세션처리

DB에 새로운 계정으로 입력해도 id가 계속 0입니다T_T; (증가하지 않음)

작성

·

187

2

 
//join.js
passport.serializeUser((userdone)=>{
    console.log('passport session saved:'user)
    done(nulluser// <- used deserialze for first arg
})

passport.deserializeUser((userdone)=>{
    console.log('passport session get id:'user)
    done(nulluser//
})

 passport.use('local-join'new LocalStrategy({
     usernameField: 'email',    // *form 의 input name과 일치해야함 
     passwordField: 'password'// *form 의 input name과 일치해야함 
     passReqToCallback: true,
 }, function(reqemailpassworddone){
     // 인증 처리 DB 접속 row 존재 여부 조회 등...
     const query = connection.query('select * from user where email=?', [email], (err,rows)=>{
         if(errreturn done(err);
         if(rows.length){
             console.log('your email is already exist')
             return done(nullfalse, {message: 'your email is already used'})
         }else{
             //insert
             const sql = {email: emailpassword: password};
             const query = connection.query('insert into user set ?'sql, (err,rows)=>{
                 if(errthrow err
                 return done(null, {'email': email'id': rows.insertId}) //session에 담을 정보를 넣을수있음 -> serialize 하지 않으면 에러 발생 
             })
         }
     })
 }))
[Terminal]
Listening on the port 3001 passport session saved: { email: 'hello@gmail.com', id: 0 } passport session get id: { email: 'hello@gmail.com', id: 0 } main.js loaded: { email: 'hello@gmail.com', id: 0 } passport session get id: { email: 'hello@gmail.com', id: 0 }

답변 1

5

지금은 해결하셨나 모르겠는데 같은 문제를 겪으실분을 위해 남겨봅니다.

해당 문제는 DB에서의 문제이고,

AUTO_INCREMENT 의 증가량을 부여하는것으로 저는 해결을 하였습니다.

sql에서 ALTER TABLE (테이블명) AUTO_INCREMENT =1; 를 통해 증가함을 확인했습니다.

Zisoo Zzoi님의 프로필 이미지
Zisoo Zzoi

작성한 질문수

질문하기