2024/08/01 3

[Node] 로그인 기능, 토큰 생성 - Bcrypt, Jsonwebtoken

1.  데이터 베이스에서 요청한 E-mail 찾기- User.findOne()으로 찾기// index.js...app.post("/login", async (req, res) => { // 데이터 베이스에서 요청된 E-mail 찾기 try { const user = await User.findOne({ email: req.body.email }); if (!user) { // E-mail이 없다면 return res.json({ loginSuccess: false, message: "제공된 이메일에 해당하는 사용자가 없습니다.", }); } })})...  2. 데이터 베이스에서 요청한 E-mail이 있다면 비밀번호가 같은지 확인1) ..

[Node] 비밀번호 암호화 - Bcrypt

0. 들어가기 앞서!- 현재 데이터베이스에 저장된 비밀번호는 너무 안전하지 않음- 그래서 Bcrypt를 시용해 비밀번호를 암호화해서 데이터베이스에 저장해야함 1. Bcrypt 다운받기npm install bcrypt --save 2. User.js 수정1) 암호화 할 타이밍// index.js...app.post('/register', async (req, res) => { const user = new User(req.body) // save 전에 비밀번호 암호화 const result = await user.save().then(()=>{ res.status(200).json({ success: true }) }).catch((err)=>{ res.json({ succ..

[Node] 비밀 설정 정보 관리

0. 들어가기 앞서!소스코드 안에 있는 비밀정보는 보호해야 함(MongoDB 아이디, 비밀번호)근데 github에 올리면 아이디,비밀번호가 그대로 노출됨.따라서 그 부분을 따로 파일로 저장해 그 파일을 .gitignore에 따로 저장. 1. 비밀 정보 파일에 따로 저장하기// key.jsif(process.env.NODE_ENV == 'production') { module.exports = require('./prod'); // Deploy 후} else { module.exports = require('./dev'); // Local 환경}1) Local 환경에서// dev.jsmodule.exports = { mongoURI: 'mongodb+srv://아이디:비밀번호@bolie..