본문 바로가기

Do it Node.js26

6. 로그인 페이지 로그인 기능 구현 -login.js 추가 -header.js, mainHeader.js, registerHeader.js 로 헤더 3개 분류 -백엔드- controllers - : 로그인 기능 (...) require("dotenv").config(); //.env 파일 불러오기 const jwt = require("jsonwebtoken"); //jsonwebtokeen 불러오기 const jwtSecret = process.env.JWT_SECRET; //비밀키 지정 (...) //Post Login User, / : 로그인 기능 const loginUser = asynchHandler(async (req, res) => { const { username, password } = req.body; c.. 2024. 3. 20.
20. 로그인, 토큰 쿠키 : 웹 브라우저를 이용할 때 사용자 컴퓨터에 저장되는 정보 -cookie-parser : 웹 애플리케이션에서 쿠키를 만들거나 구문을 분석할 떄 사용 >> npm install cookie-parser 세션 : 웹 브라우저를 이용할 때 서버에 저장되는 정보 캐시 : 데이터를 미리 복사해 놓는 임시 저장 장소 토큰 -세션과는 다르게 서버에 저장하지 않음 -사용자 정보, 위조를 막는 서명 등 인증에 필요한 모든 정보가 담김 -서버 간 공유할 수도 있음 JWT : 노드에서 자주 사용하는 JSON 형식의 토큰 방식 모듈, 헤더/페이로드/서명 3영역으로 나뉨 -헤더 : 알고리즘과 유형이 담김 -페이로드 : 사용자 인증 정보, 내용이 담김 -서명 : 비밀 키로 .env 파일같이 안전한 곳에 저장해서 사용 >> .. 2024. 3. 19.
5. 회원가입 페이지 회원가입한 데이터를 몽고DB에 저장 -백엔드- controllers - const asynchHandler = require("express-async-handler"); const User = require("../models/userModel"); const bcrypt = require("bcrypt"); //Post Register User, /register const registerUser = asynchHandler(async (req, res) => { const { username, password, password2 } = req.body; const existingUser = await User.findOne({ username }); if (existingUser) { //아이디 중.. 2024. 3. 19.
19. 회원가입, bcrypt 해시 함수 : 비밀번호를 암호화할 때 쓰는 함수로, 입력값을 받아서 또다른 값으로 반환 -일방향 함수로, 원래 입력값으로 복원하는 것이 불가능 -해시가 노출되어도 입력값을 알아낼 수 없음 -입력값을 조금만 변형해도 완전히 다른 해시가 나오며 -입력값의 길이에 상관없이 해시의 길이는 항상 일정 bcrypt : 비밀번호를 해시로 변환해서 데이터베이스에 저장하는 모듈 >> npm install bcrypt views - : 회원가입 페이지 사용자 등록 아이디 비밀번호 비밀번호 확인 models - : User 스키마 생성 const mongoose = require("mongoose"); //몽구스 모듈 가져오기 const Schema = mongoose.Schema; //스키마 생성 const UserSch.. 2024. 3. 19.