Wecode -Foundation 2 (부트캠프)/인증, 인가- 개념 4

Foundation2- Node.js에서 Bcrypt, 해쉬함수 (makeHash, checkHash) **

비밀번호 암호화 -> 고객 데이터 소중 개인정보 보호 법령에 의거. 백엔드 개발자라고해서 고객의 비밀번호를 알 수 없음 . 단방향. 돌아갈 수 없음. -> 해쉬 함수 (한번 복호화 후에는 비밀번호를 볼 수 없음, 역함수 없음) (우리는 복호화 하는데, 이거를 풀려고 하는 사람이 있다. --> 해커들. 그렇기에 복잡하게 비밀번호 암호화 하는 것) 1. 설치 npm install bcrypt --save -dev package.json에서 확인 2. 쓸 수 있게 가져온다 const bycrypt = require("bcrypt") ; 3. 두개의 변수 선언 const bcrypt = require("bcrypt"); const password = 'password'; // 문자열 const saltRound..

Foundation 2- [jwt, token] 토큰 개념, 토큰 코드 만들기, 토큰 발행 / 프론트와 연결하는 법 (엔드포인트, api)

간단한 전반적 흐름 로그인 + token 발행 [개념] 이후 공부한 자세한 내용 [jwt, token] 토큰 개념, 토큰 코드 만들기, 토큰 발행 / 프론트와 연결하는 법 (엔드포인트, api) 토큰? 백엔드가 매번 프론트에게 사용자의 로그인 기록을 주는데, 비밀번호 pm-developer-justdoit.tistory.com token 에 담긴 id가 user table의 pk인 userId 토큰? 백엔드가 매번 프론트에게 사용자의 로그인 기록을 주는데, 비밀번호를 암호화해서 줌 --> 로그인 기록 유지 하는 기능 (다른 거 하는 동안) 로그인 성공한 시점에 토큰을 발급. 그 토큰의 이름이 jsonwebtoken해서 jwt jwt 토큰을 암호화 'JWT 토큰' 구성요소 - Header에는 암호화 알고리..

Foundation 2 - 인증 : token, session,

그래서 인가 어떻게 하는건데? 백은 프론트에게 무엇을 전달 받아야하고, 백은 프론트에게 무엇을 받아서 무엇을 줘야 하는지 → 기술 스택 명확하게 알아야 함. (기술적 펼처짐 이해) unless, 변수, 에러 → 전체 flow 이해 (내가 작성한 소스 코드가 어떠한 결과를 내기 위해 존재하는지 알아야 함) HTTP 사용 : 웹 환경에서 사용자 - 시스템 사이 데이터 교환 HTTP의 대표적 특징 : stateless (“상태없음”: 독립적, 과거 통신에 대한 이력이 저장되지 않는다: 언제? 한번의 request, response 생애 주기가 끝나면, 소멸됨 → 그래서 header에 다양한 메타 정보_과거 이력 동봉해서 보냄 ) 그럼, 인증 인가 어떻게 해? Stateless인데? → 매번 요청할때마다 인증 ..

Foundation 2- 인증과 인가

인증과 인가 인증 - 회원가입 로그인 인가- 인증을 받은 client, browser가 끊임없이, ‘나 A라는 User이고 B라는 자격을 갖고 있고, A,B라는 선제조건을 가져야 가능한 C라는 서비스를 이용하게 해줘'라는 요굴르 끊임없이 하고 공증 받는 과정 인증 (Authentication) 이란? 인증은 누군가 또는 시스템이 실제로 그 누구인지 또는 시스템인지를 결정하는 과정 사용자의 자격 증명 정보가 인증 서버의 자격 증명 정보를 비교, 일치하는지 확인하여 시스템에 대해 액세스 권한 제공 Ex. 사용자가 제시한 정보가 은행의 데이터베이스의 존재하는 정보가 일치하지 않으면 은행 업무를 볼 수 없습니다. 인증의 유형 1. SFA(단일 요소 인증)single factor: 자격증명 정보로서 사용자 ID와..