
1) 사용자가 ID와 PW를 입력하여 서버에 로그인을 요청한다
2) 서버에서 요청을 받으면 헤더, 내용, 서명을 정의하고
헤더, 내용, 서명을 각각 Base64로 한번더 암호화한다
그리고 JWT 토큰을 생성해서 쿠키에 담아 클라이언트에 전달한다
3) 클라이언트는 서버로 부터 받은 JWT를 로컬 스토리지 또는 쿠키 등에 저장한다
4) API를 서버에서 요청하면 Authorization header에 Access Token을 담아 보낸다
5) 클라이언트가 Header에 담아 보내면 JWT가 서버에서 발행한 토큰인지
일치 여부를 확인한다 (정보에 담긴 내용을 해석해서 정보를 얻고 이를 DB 저장된지 확인)
확인해서 일치하면 인증을 통과시키고 아니면 통과시키지 않으면 된다
인증 통과되었으면 정보에 담긴 유저 정보들을 select해서 클라이언트에게 반환한다
6) 만약 Access Token이 만료되어있으면 Refresh Token을 이용해서
새로운 Access Token을 발급한다
'CS' 카테고리의 다른 글
| [CS] 16진수 (hexadecimal) (0) | 2023.06.14 |
|---|---|
| [CS] 진수(진법), 데이터 단위, 변수 타입 용어 정리 (0) | 2023.06.06 |
| [CS] 애자일 12가지 원칙 (0) | 2023.03.03 |
| [CS] www.google.com을 치고 엔터를 치면 어떤 일이 벌어질까? (0) | 2022.12.30 |
| [CS] 운영체제 CPU 스케줄링 알고리즘 (0) | 2022.12.16 |