본문 바로가기
JWT3. 하드코딩으로 JWT 생성 및 사용(2) 목차 생성한 JWT 응답으로 내보내기 구조분해 할당 디코딩 진위 여부를 비교할 서명 생성 쿠키의 서명과, 디코딩한 서명 일치 확인 # 1. JWT 내보내기 생성한 JWT를 미들웨어를 통하여 응답 객체에 실어서 클라이언트에 내보내자 응답으로 헤더를 생성하는 setHeader 메서드를 사용 // Controller.js exports.main = (req,res)=>{ res.setHeader("Set-Cookie",token:jwt) } 자, 이렇게 쿠키 생성으로 클라이언트에 JWT를 내보냈다면, 클라이언트는 서버에게 매 요청 시마다 쿠키를 동봉하여 요청할 것이다. 그럼 이제 요청 객체와 함께 동봉된 JWT 토큰이 들어있는 쿠키를 사용해보자 #2. 구조분해 할당 const [ head,pay,sign ] .. 2022. 3. 3.
JWT3. 하드코딩으로 JWT 생성 및 사용(1) 목차 진수변환(인코딩) 해쉬값 생성 실습(헤더,페이로드 선언>인코딩>해쉬값부여>JWT생성) # 1. 진수 변환(인코딩) 1 -1 . 진수 변환 (1) 버퍼의 두번째 매개변수로 진수 넣기 -버퍼 : 컴퓨터가 데이터 저장 시 바이트(16진수) 형태로 저장하는 공간 Buffer.from(변환할 대상, `진수`) -매개변수 1 : 변환할 대상 변수인 경우 그대로 작성 스트링인 경우 일반 스트링 작성법과 동일하게 작성 객체인 경우 아래의 메서드를 매개변수 1자리에 넣어서 스트링으로 변환 JSON.stringify(스트링으로 변환할 객체) -매개변수 2 : 진수 기본적으로 디폴트 값이 UTF-8 64진수 변환 : `base64` (2)toString 메서드의 매개변수로 진수 넣기 Buffer.from(변환할 대상).. 2022. 3. 3.
JWT2. 기본 개념 목차 JWT란? JWT 사용례 JWT의 구성 장단점 프로세스 # 1 . JWT란? JSON Web Token의 약자 전자 서명 된 URL-safe (URL로 이용할 수있는 문자로 구성된)의 JSON. 속성 정보 (Claim)를 JSON 데이터 구조로 표현한 토큰으로 RFC7519 표준. JWT는 서버와 클라이언트 간 정보를 주고 받을 때, Http request객체의 header에 JSON 토큰을 넣은 후 서버는 별도의 인증 과정없이 헤더에 포함되어 있는 JWT 정보를 통해 인증. 이때 사용되는 JSON 데이터는 URL-Safe 하도록 URL에 포함할 수 있는 문자만으로 생성 JWT는 HMAC 알고리즘을 사용하여 비밀키 또는 RSA를 이용한 Public Key/ Private Key 쌍으로 서명 가능 #.. 2022. 3. 3.
JWT1. 암호화의 개념 목차 암호화란? 암호화의 목적 용어 정리 암호화의 종류 #1. 암호화(Encryption)란? 특별한 지식을 가진 사람만이 읽어볼 수 있도록, 알고리즘을 이용하여 정보를 전달하는 과정 암호화 과정을 평문(정보)을 암호문(암호화된 정보)으로 변환시킴 이에 역행하는 과정을 해독(복호화,Decryption)이라고 하며, 해독과정을 통해 암호화된 정보를 다시 평문으로 변화시킴 #2. 암호화의 목적 부적절한 노출방지. 허가 받은 사용자만이 내용에 접근할 수 있어야 함(Confidentiality; 기밀성) 부적절한 변경바지. 허가 받은 사용자만이 내용을 변경할 수 있어야 함(Integrity; 무결성) 부적절한 서비스 거부 방지. 허가받은 사용자는 필요할 때 내용에 접근할 수 있어야 함(Availability; .. 2022. 3. 2.