프로젝트(42)
-
14. Node 가계부 만들기 [ 가계부 기능 파일 생성] - 1
생성되는 url /accounts/day/:date [ GET ] : 선택된 날짜 가계부 확인 /accounts/month/:date [ GET ] : 선택한 월 가계부 /accounts/year/:date [ GET ] : 선택한 년 가계부 /accounts/card/:card/day/:date [ GET ] : 선택 카드의 선택 날짜 상세 내역 확인 /accounts/:date [ POST ] : 가계부 작성 /accounts/:index [ PATCH ] : 가계부 수정 /accounts/:index [ PATCH ] : 가계부 삭제 1. 폴더 생성 2. 파일 생성 - 파일 설명 accounts.route.js : 경로 설정 accounts.service.js : 비지니스 코드 accounts.re..
2022.05.28 -
13. Node 가계부 만들기 [ 로그인 유효성 검사 ] - 5
로그인 시에도 유효성 검사가 필요하다. 로그인 유효성 검사는 전에 작성한 목록에서 재 사용을 할 수 있어서 IdBody, Pwd를 재 사용 한다. https://crispypotato.tistory.com/217 8. Node 가계부 만들기 [ 유저 기능 (회원 가입) 전송 받은 데이터 유효성 검사 ] - 5 서비스 코드 : https://crispypotato.tistory.com/216 서비스 코드 까지 작성하면 기능 구현은 끝났다 하지만!! 프론트에서 잘못된 데이터를 보내거나 필요 데이터를 빼먹었을 때 버그가 발생한다. 이 때 전 crispypotato.tistory.com login.route.js 최종 코드 const express = require('express') const router =..
2022.05.28 -
12. Node 가계부 만들기 [ 로그인 Service 코드 작성 ] - 4
1. 로그인 성공 시 JWT 토큰 생성 설명 - passport-local에서 로그인 성공시 req.user에 유저 정보가 온다. - 해당 유저의 정보를 객체에 담아 jsonwebtoken 라이브러리를 이용해 JWT를 생성한다. * 유저의 정보는 아이디, 비밀번호를 담는 것은 jwt 탈취시 위험하기 때문에 지양하고 유저을 특정 할 수 있는 인덱스 값을추천한다. 결과 - Send()에 만들어진 토큰 값을 넣어 전송한다. const httpError = require('http-errors') const { Send } = require('../../lib/lib') const jwt = require('jsonwebtoken') const JWT = process.env.JWT const Login = a..
2022.05.28 -
11. Node 가계부 만들기 [ 로그인 route 코드 작성 ] - 3
passport 전략생성 : https://crispypotato.tistory.com/219 10. Node 가계부 만들기 [ 로그인 passport 전략 설정 ] - 2 passport를 이용 하여 로그인 기능, jwt 검증을 만든다. passport.js파일에 passport-local, passport-jwt 전략 생성 1. passport-local 전략 생성 usernameField : 받는 아이디 파라미터 이름 passwordField : 받.. crispypotato.tistory.com 1. login.service.js 코드 작성 (기본 연결을 위해 작성 실제 코드는 [ ] ) const httpError = require('http-errors') const { Send } = req..
2022.05.28 -
10. Node 가계부 만들기 [ 로그인 passport 전략 생성 ] - 2
passport를 이용 하여 로그인 기능, jwt 검증을 만든다. passport.js파일에 passport-local, passport-jwt 전략 생성 1. passport-local 전략 생성 usernameField : 받는 아이디 파라미터 이름 passwordField : 받는 비밀번호 파라미터 이름 을 넣어준다. 1-1. 받은 유저 아이디 값으로 해당 유저가 존재하는지 DB 검색을 한다. 1-2. 유저가 존재하면 salt값과 password값을 DB검색을 하고 Password() 함수에 유저가 보낸 비빌번호값, salt값을 넣어준다. 1-3. Password()함수를 이용해 password (hash값)을 만들고 DB에 있는 password값과 비교 한 후 같다면 return done 값에 D..
2022.05.28 -
9. Node 가계부 만들기 [ 로그인 기능 구현 파일 생성 ] - 1
생성되는 url login/ [ POST ] : 로그인 login/fail [ GET ] : 로그인 실패, 아이디 / 비밀번호가 틀렸을 때 redirect login/token-fail [ GET ] : 로그인 이 후 이용 중 토큰 에러 발생시 redirect 1. /route/login 폴더 생성 2. 파일 생성 - 파일 설명 login.route.js : 경로 설정 login.service.js : 비지니스 코드 passport.js : passport 전략 코드 작성
2022.05.28