Open yoogail105 opened 2 years ago
client
및 authorization server
에서 구성 및 구현resource server
에 의한 검증을 위해 access token
에 포함될 수 있음
*그림 출처: 🔗 OAuth 2.0 동작 방식의 이해
client
에 의해 사용되는 flowclient
는 user agent
를 통해 resource owner
, authentication server
와 상호작용resource owner
는 authorization server
에 client
에 인증 코드authorization code를 발급하도록 허가client
는 authorization server
를 사용하여, 인증 코드를 access token
과 교환access token
은 resource owner
대신 resource server
에 접근할 수 있도록 해줌
resource owner
가 client
와 신뢰하는 관계를 맺었을 때 사용하는 flowresource owner
↔ 모바일 디바이스client
resource owner
, client
는 access token
를 발급하는 authorization server
에 증명authenticate하기 위해 함께 동작한다.client
는 resource server
에 있는 resource owner
의 데이터에 접근할 수 있도록 access token
을 관리
client
가 신뢰하는 어플리케이션일 때client
는 resource owner
이기도 한 파트너 회사의 비즈니스 어플리케이션 일 수 있음client
는 resource server
에 자신의 유저 아이디와 비밀번호를 가지고 증명을 함access token
을 받음client
는 access token
을 사용해서resource server
에 있는 데이터에 접근
client
의 자격 증명만으로 access token
을 획득하는 방식resource owner
가 client
에 데이터에 대한 엑세스를 허용하면user agent
가 access token
을 보냄access token
은 client
를 대신해서 resource server
에 접근할 수 있음
OAuth 2.0
OAuth
access token
으로 알려진 보안 객체를 통해 → 암호 공유 없이 웹 리소스에 접근을 허용access token
은 암호가 메인 서비스 내부에 안전하게 유지되게 한다.OAuth 2.0 프로토콜 구성요소
Resource owner
: 데이터의 주인으로, 사용자resource server
에 의해서 저장되고, 접근되고, 보호되는 데이터의 주인resource server
에 저장된 데이터에 접근하고, 특정 작업을 수행할 수 있는 권한을client
에 부여할 수 있음Client
: 모바일 앱, 서비스authorization server
로부터 온access token
을 사용하는 어플리케이션Resource server
로부터 호스팅되는resource owner
의 데이터에 접근하기 위해authorization server
로부터 온 엑세스 토큰authorization server
에 등록됨access token
에 삽임됨Resource server
로부터 유효성을 검사 받음Resource server
: 유효한access token
이 제공되면 리소스들을 제공, 데이터를 가진 서비스 제공자client
에 이 데이터를 반환하는 어떤 시스템이나 컴포넌트를 가리키는 것을 추상화(an abstraction)Authorization server
: 인증(authentication)과 권한 부여(authorization)에 대한 권한을 가지고, access token을 제공하는 서비스 제공자Resource owner
의 신용을 인증하는 서버clients
,resource servers
의 리스트를 유지resource owner
를 대신해서**access token
을 발급**Authentication server
authorization server
가resource owner
의 신원을 증명(authenticate)하기 위해서 사용하는 서버resource owner
d의 신원이 확인되면,authorization server
는access token
을 발급하기 위한 authorization 프로세스를 진행할 수 있음User agent
⇒ 핵심은!
Client
가Authorization server
로부터access token
을 받고, 이access token
를 가지고Resource server
에 데이터를 요청하여, 원하는 데이터를 받음