목록Bcrypt (4)
주뇽's 저장소
본 정리는 인프런 John Ahn 따라하며 배우는 노드, 리액트 시리즈 - 기본 강의를 참고하였습니다. 전체 흐름도 로그아웃은 이미 로그인이 되어있으므로 해당 유저 데이터베이스에서 토큰만 삭제하면 됨 index.js 파일에 다음 코드 추가 app.get('/api/users/logout', auth, (req, res) =>{ User.findOneAndUpdate({_id:req.user._id,}, {token :""}, (err,user)=>{ if(err) return res.json({ success : false, err, }) return res.status(200).send({success:true}) }) }) 포스트맨에서 로그인 후 로그아웃 확인 데이터베이스에서 토큰 삭제 확인 로그아웃..
본 정리는 인프런 John Ahn 따라하며 배우는 노드, 리액트 시리즈 - 기본 강의를 참고하였습니다. 전체 흐름도 페이지별로 로그인 또는 관리자 확인 필요한경우 체크하기 위해서 서버는 토큰을 데이터베이스에 저장되어 있음 클라이언트는 토큰을 쿠키에 저장되어 있음 인증을 위해서는 중간에 인증처리를 해줄 미드웨어가 필요 middleware/auth.js 파일 생성 후 다음 코드 추가 const {User} = require("../Models/User");// 미리 정의했던 모델 가져오기 const { request } = require("express"); let auth = (req, res, netx) =>{ //인증 처리를 하는 곳 // 1. 클라이언트에서 토큰을 가져옴 let token = req...
본 정리는 인프런 John Ahn 따라하며 배우는 노드, 리액트 시리즈 - 기본 강의를 참고하였습니다. 전체 흐름도 요청된 이메일을 데이터베이스에서 찾기 //몽고DB에서 제공하는 find함수 사용 // 1. 요청된 이메일을 데이터베이스에서 찾기 User.findOne({email: req.body.email}, (err, user)=>{ if(!user){ return res.json({ loginSuccess : false, massage : "제공된 이메일에 해당하는 유저가 없음" }) } 요청된 이메일이 있다면 비밀번호 체크 // Model/User.js userSchema.methods.comparePassword = function(plainPassword,callbackfunk) { // pl..
본 정리는 인프런 John Ahn 따라하며 배우는 노드, 리액트 시리즈 - 기본 강의를 참고하였습니다. 현재 비밀번호는 데이터베이스에 그대로 노출되기 때문에 관리해야함 다음명령어로 bycrypt 설치 npm install bcrypt --save Bycrypt로 비밀번호 암호화 하는 순서 먼저 Register Route에서 save하기전 (index.js) 유저 정보들을 데이터 베이스에 저장하기 전 암호화 Salt salt를 생성하고 이용해서 비밀번호를 암호화 Models/User.js 파일 수정 전체 코드 const mongoose = require('mongoose'); const bcrypt = require('bcrypt'); const saltRounds = 10; // 10자리를 이용하여 생성..