-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
DB에 새로운 계정으로 입력해도 id가 계속 0입니다T_T; (증가하지 않음)
19.09.23 17:21 작성 조회수 129
2
//join.js
passport.serializeUser((user, done)=>{
console.log('passport session saved:', user)
done(null, user) // <- used deserialze for first arg
})
passport.deserializeUser((user, done)=>{
console.log('passport session get id:', user)
done(null, user) //
})
passport.use('local-join', new LocalStrategy({
usernameField: 'email', // *form 의 input name과 일치해야함
passwordField: 'password', // *form 의 input name과 일치해야함
passReqToCallback: true,
}, function(req, email, password, done){
// 인증 처리 DB 접속 row 존재 여부 조회 등...
const query = connection.query('select * from user where email=?', [email], (err,rows)=>{
if(err) return done(err);
if(rows.length){
console.log('your email is already exist')
return done(null, false, {message: 'your email is already used'})
}else{
//insert
const sql = {email: email, password: password};
const query = connection.query('insert into user set ?', sql, (err,rows)=>{
if(err) throw 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 }
답변을 작성해보세요.
5
매력적인 랫서팬더
2019.10.07
지금은 해결하셨나 모르겠는데 같은 문제를 겪으실분을 위해 남겨봅니다.
해당 문제는 DB에서의 문제이고,
AUTO_INCREMENT 의 증가량을 부여하는것으로 저는 해결을 하였습니다.
sql에서 ALTER TABLE (테이블명) AUTO_INCREMENT =1; 를 통해 증가함을 확인했습니다.
답변 1