spl의 count함수를써서 1차적으로 id 체크를 한 후 compare을 사용해서 비밀번호 비교를 진행
//loginrepository
import { db } from "../db/database.js";
export async function getLogin(id){
return db
.execute(`SELECT count(pass) as cnt,any_value(pass) as pass FROM shoppy_member WHERE id = ?`,[id])
.then((row)=>{
return row[0][0]
})
}
//login controller
import * as loginRepository from '../repository/loginRepository.js'
import bcryptjs from 'bcryptjs'
export async function getLogin (req,res){
const {id,pass} = req.body
const row = await loginRepository.getLogin(id)
if(row.cnt === 1){ //cnt를 써서 0이냐 1이냐를 비교해서 id 유무체크부터 해야함
const hashPass = row.pass
let login_result = await bcryptjs.compare(pass,hashPass)
if(login_result){
console.log('정상적인 로그인 성공');
res.json(row)
}else{
console.log('비번틀림');
}
}else{
console.log('없는 아이디임');
}
}
'프로그래밍 > Weekly I Learned' 카테고리의 다른 글
2023.11.20+ 로그인 유무에 따른 장바구니 페이지 이동 (1) | 2023.11.20 |
---|---|
2023.11.17+ broken acess control 리액트 해결 (0) | 2023.11.17 |
2023.11.13+ 리액트 노드 연결 (0) | 2023.11.14 |
2023.11.12+ 쇼핑몰 디테일페이지 만들기 (0) | 2023.11.13 |
2023.11.09+ recoil로 시간변환기 만들기 (0) | 2023.11.11 |