일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 홈페이지구축
- 튜닝
- 3D프린터
- jQuery Plugin
- 쇼핑몰제작
- 프로그래머
- work6.kr
- 웹에이전시
- 플러그인
- 개발자
- 홈페이지
- PHP
- 웹디자이너
- 웹퍼블리싱
- 홈페이지제작
- CSS
- 쇼핑몰구축
- 제이쿼리
- JQuery
- plugin
- 웹디자인
- 쇼핑몰
- 사이트제작
- 포트폴리오
- 고도몰
- 웹개발자
- 웹퍼블리셔
- 안드로이드
- 커스터마이징
- 워크식스
- Today
- Total
그냥 개발자 블로그
OAuth2.0 외우기 (초 간단 설명) 본문
- OAuth2.0 아무리 봐도 이해 안 되면 외워 버리기
로그인
===== 프론트 =====
1. 아이디, 패스워드 백엔드에 전달
===== 백엔드 =====
2. 아이디, 패스워드 확인
3. JWT 로 Access token 생성
3. JWT 로 Access token 보다 Expiration(만료시간)을 길게 하여 Refresh token 생성
4. 두 token 담아서 프론트로 응답 (JSON)
===== 프론트 =====
5. token들을 (보안) 쿠키에 저장
데이터 요청
===== 프론트 =====
6. Acess token 과 함께 요청에 필요한 파라미터 함께 백엔드로 전달
(Access token 만료 시간이 안지났으면)
===== 백엔드 =====
7. Acess token 의 Expiration 이 지났는지 확인
8. Expiration 가 안 지났으면 Acess token 에서 주요 정보(예를 들어 회원 아이디 같은 거)를 JWT decode 로 가져옴
9. (8)에서 구한 데이터와 프론트가 요청이 필요해 전달한 파라미터로 정보를 가져오고 프론트에 응답
(Access token 만료 시간이 지났으면)
===== 백엔드 =====
7. Acess token 의 Expiration 이 지났는지 확인
8-1. Expiration 가 지났으면 사용할 수 없는 Acess token 이라고 응답
===== 프론트 =====
9-1. Refresh token 토큰과 함께 백엔드에 데이터 재요청
(Refresh token 만료 시간이 안 지났으면)
===== 백엔드 =====
10-1. Refresh token 의 Expiration 이 지났는지 확인
11-1. Expiration 가 안 지났으면 새로운 Acess token 생성
12-1. 새로운 Acess token 에서 주요 정보(예를 들어 회원 아이디 같은 거)를 JWT decode 로 가져옴
13-1. (12-1)에서 구한 데이터와 프론트가 요청이 필요해 전달한 파라미터로 정보를 가져오고 프론트에 응답
===== 프론트 =====
14-1. 새로운 Acess token (보안) 쿠키에 저장
(Refresh token 만료 시간이 안지났으면)
===== 백엔드 =====
10-1. Refresh token 의 Expiration 이 지났는지 확인
11-2. Refresh token 지났으면 Refresh token 만료라고 프론트에 응답
===== 프론트 =====
12-2. (보안) 쿠키에서 보안 쿠키들 모두 지우고 로그인 페이지로 이동시키기
외우는 것도 안된다면..... session 방식 로그인을 사용하시라.... session 방식도 모르겠다면 개발자 일은 그만 두시라
copyright 2023 워크식스
'프로그래밍팁' 카테고리의 다른 글
맥 mojave 이상 에서 ssh-keygen 인증키 만들기 (0) | 2019.10.04 |
---|---|
JWT Login Flowchart (0) | 2019.06.25 |