그냥 개발자 블로그

OAuth2.0 외우기 (초 간단 설명) 본문

프로그래밍팁

OAuth2.0 외우기 (초 간단 설명)

마음이파파 2023. 3. 6. 10:29

- 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