Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 |
30 |
Tags
- 자바
- DB
- javascript
- python
- 데이터베이스
- CS
- Flutter
- 스프링
- CS지식
- postgresql
- 프로그래머스
- Spring Security
- 파이썬
- backjoon
- Java
- JPA
- 자바스크립트
- springboot
- 스프링부트
- 시큐리티
- 데이터
- 리눅스
- spring
- Oracle
- 백준
- 자료구조
- 네트워크
- baekjoon
- 플러터
- 스프링 부트 쇼핑몰 프로젝트 with JPA
Archives
- Today
- Total
Jin's Dev Story
[Spring Security] OAuth 2.0을 이용한 인증 본문
J219. Spring Boot OAuth2 Google, Naver Login
💡 OAuth 2.0을 이용한 인증
OAuth
- 외부 서비스의 인증 및 권한 부여를 관리하는 범용적인 프로토콜
OAuth 2.0
- 모바일에서도 사용 용이
- 반드시 HTTPS를 사용하므로 보안이 강화됨
- Access Token의 만료 기간이 생김
→ OAuth 2.0의 인증 방식은 4가지 있음 → 가장 범용적으로 쓰이는 것은 Authorization Code Grant
인증 순서
- Resource Owner : 일반 사용자
- Client : 우리가 만든 웹 어플리케이션
- Authorization Server : 권한 관리 및 Access Token, Refresh Token을 발급해주는 서버
- Resource Server : OAuth 2.0을 관리하는 서버의 자원을 관리하는 곳
- Resource Owner가 Client에게 인증 요청
- Client는 Authorization Request를 통해 Resource Owner에게 인증할 수단(Facebook, Google 로그인 url)을 보냄
- → Resource Owner는 해당 Request를 통해 인증을 진행
- 인증을 완료했다는 신호로 Authorization Grant를 url에 실어 Client에게 보냄
- Client는 해당 권한 증서를 Authorization Server에 보냄
- Authorization Server는 권한 증서를 확인 후, 유저가 맞다면 Client에게 Access Token, Refresh Token, 그리고 유저의 정보를 발급
- Client는 해당 Access Token을 DB에 저장하거나 Resource Owner에게 넘김
- Resource Owner가 Resource Server에 자원이 필요하면, Client는 Access Token을 담아 Resource Server에 요청
- Resource Server는 Access Token이 유효한 지 확인 후, Client에게 자원을 보냄→ 그 후 다시 Resource Server에 자원을 요청
- → 만일 Refresh token도 만료되었을 경우, Resource Owner는 새로운 Authorization Grant를 Client에게 넘겨야 함
- → 만일 Access Token이 만료됐거나 위조되었다면, Client는 Authorization Server에 Refresh Token을 보내 Access Token을 재발급 받음
'Web & Android > Spring Security' 카테고리의 다른 글
[Spring Security] Annotation (0) | 2023.10.19 |
---|---|
[Spring Security] SNS 로그인 (0) | 2023.10.19 |
[Spring Security] 카카오 로그인 실습 - Web (0) | 2023.10.19 |
[Spring Security] Access Token+ Refresh Token을 이용한 인증 (1) | 2023.10.19 |
[Spring Security] Access Token을 이용한 인증 (0) | 2023.10.19 |