-
OAuth2 동작 원리개발 2020. 3. 17. 03:11
OAuth2란?
"OAuth 2.0은 다양한 플랫폼 환경에서 권한 부여를 위한 산업 표준 프로토콜입니다."
먼저 OAuth를 구성하는 주요 4가지 객체를 알아보자.
1. client
- 자원 소유자의 보호된 자원에 접근하는 애플리케이션. 웹or앱 등
2. resource owner
- 자원 소유자. 보호된 자원에 접근하는 권한을 제공
3. resource server
- 요청을 수신하고 권한을 검증하여 결과(자원)을 응답
4. authorization server
- 자원 소유자를 권한을 부여
위 4가지 구성요소를 위주로 클라이언트가 Access Token 을 얻는 4가지 과정 Grant Type 을 설명하고자 한다.
- Authorization Code
1. resource owner는 client를 통해 authorization server에 인증을 받고 권한을 허가한다.
Method: GET https://{인증서버}/oauth/authorize?response_type=code&client_id={client_id}&redirect_uri={redirect_uri}&scope={scope}
2. authorization server는 권한 허가와 동시에 Authorization Code를 발급한다. code를 담은 {리다이렉트 URL}을 응답한다{리다이렉트 URL}?code={code}
3. 전달 받은 {리다이렉트 URL}을 통해 브라우저는 client backend 서버로 리다이렉트 되며 Authorization Code를 전달한다
4. client backend는 {인증서버}로 client backend에서 가지고 있는 client_id, client_secret 과 리다이렉트를 통해 전달 받은 grant type, Authrization Code, {리다이렉트 URL}을 보낸다.
5. {인증서버}로 부터 Access Token 을 발급 받는다.'개발' 카테고리의 다른 글
AWS IOT Rule Engine 을 통한 Elasticsearch 연동 (0) 2020.03.20 AWS Elasticsearch (0) 2020.03.20 SSL이란? (0) 2020.03.17 AWS IOT Solution (0) 2020.03.17 AWS CodeDeploy를 활용한 배포 (0) 2020.03.17