OAuth란?
내가 만든 Application에서 Google, Facebook, Firebase등의 공식적인 서비스(그들의 서비스)를 User에게 제공할때 사용자의 정보를 받아와야 하는데 이때 사용자가 우리 Application을 믿고 맡겨도 되게 하는 기술
어떻게 동작하는가?
User가 우리의 서비스에 그들의 서비스를 요청할때 유저의 정보를 가지지 않고, 그들의 서비스가 우리 서비스를 이용하는 User에 대한 Access Token을 제공하여 그들의 서비스를 이용할 수 있도록 한다.
-용어 정리
client - 우리 application
resource server - 그들의 서비스
resource owner - user
code -
1. Resource server 에 client 를 등록하면 server가 client ID, secret을 발급해준다.
2. Resource Owner 가 client에 포함된 Resource Server의 서비스를 이용하려고 할때 resource Owner는 resource Server에게 해당 서비스를 사용할 때 필요한 정보를 client를 통해서 보겠다는 동의를 보낸다.
3. Resource Server 는 resource owner가 동의를 했을때 client에게 동의 했다는 code를 보낸다.
4. client는 다시 code, id, secret(1에서 발급 받은) 를 보낸다.
5. Resource Server 는 client가 믿을만한 아이인지 code, id, secret를 보고 확인한다.
6. 모두 유효하다면 resource Server는 client에게 access token을 제공한다.
7. access token를 제출하면 resource server는 해당 서비스들을 제공한다.
'IoT' 카테고리의 다른 글
| [라즈베리파이 프로젝트] 라즈비안 설치하기 (0) | 2020.05.12 |
|---|