<aside> <img src="/icons/list_gray.svg" alt="/icons/list_gray.svg" width="40px" /> 목차
</aside>
저희가 만든 서버는 사용자에 따라 다른 데이터를 처리해야 합니다. 예를 들어, 내가 쓴 게시글만 모아서 본다거나, 내가 장바구니에 담아 둔 상품들의 목록을 보거나 하는 것들이 필요하기 때문이에요.
이를 위해서 서버는 각 사용자의 요청을 구분하고 처리할 수 있어야 하는데, 이를 **“인증”(Authorize)**이라고 합니다.
우리가 만든 서버와 다른 사람이 만든 Google이 있다고 생각해볼게요. 그리고 어떤 데이터가 어떻게 오가는지 상상해보겠습니다.
가장 기본이 되는 조건이죠? 적어도 어떤 사용자가 어떻게 Google 로그인을 했는지를 알아야, 서버에서 사용자를 구분할 수 있을 테니까요!
하지만 이를 위해서는 서버와 Google이 미리 한 가지 약속을 해둘 필요가 있습니다. 사용자가 Google 로그인을성공했을 때, Google에서는 어떤 서버에게 로그인 정보를 전송할지 알 수 없기 때문입니다.
어떻게 데이터를 전달할지에 대해서는 잠시 후에 알아보도록 하겠습니다.
또 필요한 것은, 어떤 데이터를 전달할지도 정의해야 합니다. 사용자가 Google 로그인을 했는데, 이 정보를 이용해서 서버가 사용자의 모든 데이터를 얻어가버리면 문제가 되겠죠? 의도하지 않은 사진첩의 정보, 연락처 정보, 위치 정보까지 모두 다 긁어가면 문제가 될 거예요!

https://developers.google.com/identity/protocols/oauth2
OAuth 2.0의 도식도는 꽤 복잡한데요, 한 번 천천히 하나씩 알아보도록 하겠습니다. 사실 한 번에 이해하기는 어려울 수 있어서, 이후에 실습을 통해서 더 이해하고, 여러 번 반복하면서 이해하게 될 거예요.