일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- JavaScript
- OAuth2
- TextRange
- Programming
- AWS
- oauth
- SpringBoot
- Federated Identity
- VanillaJS
- Mustache
- Java
- Stream
- github
- 에디터
- Visual Studio Code
- Python
- Django
- 404
- java8
- createTextRange
- Today
- Total
Harry's Blog
OAuth 2.0 본문
(1) OAuth 2.0 이란?
Open Authorization, Open Authentication
웹이나 앱 서비스 사용자들이 아이디/비밀번호로 인증하는 방식이 아닌 Google, Facebook, Facebook 계정을 이용한 새로운 인증방식.
(2) OAuth에서 정의하는 Roles
- Resource Owner : 서비스를 이용하는 사용자 (웹 브라우저...)
- Client : 서비스를 제공하는 애플리케이션
- Resource Server : 보호된 자원을 호스팅 하는 서버, 토큰 정보를 저장하고 있는 리소스 서버
- Authorization Server : 인증 처리를 담당하는 서버, 인증 성공 후에는 Access Token을 Client로 발행함
(3) OAuth 2.0 인증 방식
a. Client -> Resource Owner : A라는 서비스에서 사용자한테 인증을 요청한다. 인증요청이 사용자한테 직접 요청될 수 있다.
b. Resource Owner -> Client : 사용자는 클라이언트한테 authorization grant를 요청한다.
c. Client -> Authorization Server : 클라이언트는 인증 서버의 인증처리 및 인증 서버로 authorization grant를 요청한다.
d. Authorization Server -> Client : 인증서버는 Client를 인증 처리 하고 authorization grant를 검증한다. 유효할경우 Access Token을 발행 한다.
e. Client -> Resource Server : 클라이언트는 인증 서버에 인증 및 authorization grant를 제시해서 Access Token을 요청한다.
f. Resource Server -> Client : 클라이언트는 Access Token을 제시하면서 인증처리 하고, 리소스서버로부터 보호된 자원을 요청한다.
g. Resource Server -> Client : 리소스서버는 유효한 Access Token인지 검증하고, 유효하면 요청을 수행한다.