티스토리 뷰
1. OAuth란?
OAuth(Open Authorization)는 인증을 위한 개방형 표준 프로토콜이다. 즉, 이 프로토콜을 사용하면 대부분의 로그인, 개인정보 등과 관련된 관리 책임을 서드파티 애플리케이션에게 위임할 수 있다. 예를 들어서, 자신의 서비스에 카카오톡 간편 로그인 기능을 넣고 싶다고 하자. 이때 OAuth를 이용한다면 안전한 방식으로 카카오톡으로부터 유저의 정보에 접근하기 위한 권한을 위임 받을 수 있다.
2. 주요 용어
1) Authentication
2) Authorization
3) Access Token
4) Refresh Token
3. OAuth 2.0의 구성 요소
1) Resource Owner
2) Client
3) Resource Server
4) Authorization Server
4. OAuth 2.0 권한 부여 방식
1) Authourization Code Grant(권한 부여 승인 코드 방식)
2) Implicit Grant(암묵적 승인 방식)
3) Resource Owner Password Credentials Grant(자원 소유자 자격증명 승인 방식)
- 제공하는 API를 통해 username, password를 전달하고 access token을 받는 방식
- 권한 서버, 리소스 서버, 클라이언트가 모두 같은 시스템에 속해 있을 때 사용 → 즉, 클라이언트가 타사 외부 프로그램이 아닌 자신의 서비스에서 제공하는 어플리케이션일 경우에만 사용
- Refresh token 사용 가능
4) Client Credentials Grant(클라이언트 자격증명 승인 방식)
- 클라이언트의 자격증명만으로 access token을 획득하는 방식
- OAuth 권한 부여 방식 중 가장 간단한 방식
- 클라이언트 자신이 관리하는 리소스 혹은 권한 서버에 해당 클라이언트를 위한 제한된 리소스 접근 권한이 설정되어 있는 경우 사용
- 자격증명을 안전하게 보관할 수 있는 클라이언트에서만 사용
- Refresh token 사용 불가능
참고 자료
https://charming-kyu.tistory.com/36
https://hudi.blog/oauth-2.0/
'Backend > Spring Boot' 카테고리의 다른 글
[Spring] Spring Security 정의, 등록 및 기본 사용법 (1) | 2023.11.26 |
---|---|
[Spring] RDBMS의 이해 (0) | 2023.09.22 |
[Spring] JPA(Java Persistence API) 개념 정리 (0) | 2023.09.22 |
[Spring] 스프링 의존성 주입 3가지 방법 (0) | 2023.09.15 |
[Spring] REST API 설계 및 Controller 작성 & 설계 (0) | 2023.09.14 |
Blog is powered by
Tistory / Designed by
Tistory