resource owner
client(web program = hompage)
resource server(google, facebook)
user의 id, password를 통해
resource server로 부터 user의 google, facebook 의 id, password를 전달해줌
client의 신뢰성이 바탕되지 않은 상태에서 보안의 취약점이 문제 제기
client의 서비스는 resource server를 사용할 것입니다.
resource server는 client에게 data(Client ID, Client Secret)을 준다
client는 data(Client ID, Client Secret)를 잘 저장한다.
resource owner가 client(notion app)에 접근하여 resource owner의 resource server(google 캘린더)의 정보가
필요하여 google calender에 접근할 수 있도록 유도하여 google에 로그인 한 후, resource owner의 resource server 정보를 client에게 제공하겠냐는 승인버튼을 보여주는 화면을 종종 볼 것이다. 그러면 resource server는 client 에게 data(Code)를 준다 이 data(code)는 resource server가 가지고있는 resource owner의 데이터를 볼수 있는 비밀 번호 같은 것이다.
client는 resource owner와 관련도니 data(code) 와 data(Client ID, Client Secret) 이 세가지를 resouce server에 보낸다. 그러면 resource server는 client 에게 access token을 준다. client는 user와 관련된 access token값을 내부에 저장하고 이 값을 통해 resource server에게 요청하고 원하는 정보를 가져와서 가공하여 resource owner에게 유용한 정보를 제공한다.