목록JWT (4)
주뇽's 저장소
1. 기본 인증 (Basic Authentication) 특징 HTTP 인증 방식 중 가장 간단하다. 사용자 이름과 비밀번호를 결합하여 Base64로 인코딩한 후 전송한다. HTTP 헤더의 Authorization 필드에 사용한다. 장점 구현이 간단하고 이해하기 쉽다. 기본적인 인증 요구사항에 적합하다. 단점 보안이 약하다. HTTPS와 함께 사용하는 것이 필수적이다. 매 요청마다 사용자 이름과 비밀번호를 전송해야 한다. 예시 사용자가 웹사이트에 로그인하려고 하면, 브라우저가 사용자 이름과 비밀번호를 요청하여 서버에 전송한다. 2. JWT (JSON Web Token) 특징 자가 포함된 토큰 방식을 사용한다. 사용자 정보와 인증 데이터를 JSON 형태로 담아 암호화한다. 헤더, 페이로드, 서명으로 구성된..
본 정리는 인프런 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..