• Oauth 2.0 비전공자 쉽게 알아보자 1 :: 마이구미
    오픈 API 2016. 6. 13. 20:45
    반응형

    오픈 API 중 가장 많이 이용하는 건 SNS 로그인이라고 생각한다.

    그렇다면 Oauth가 빠질 수 없다. 

    Oauth는 무조건 알고 가야 각 SNS의 오픈 api들을 활용하기 정말 쉬워진다.


    나는 정말 쉽게 쉽게 쉽게 설명을 해보려한다.

    비전공자도 알아볼 수 있을만큼.....

    왜냐면 현재 많은 웹 페이지 상에서 sns 로그인이 정말 많이 이용되고 있다.

    혹시나 혹시나 나의 sns 계정 정보가 접속한 웹 페이지에서도 가져가는 것인가? 해킹 당하는 게 아닌가?

    하고 생각할 수도 있는 비전공자들을 위해~~~

    왜냐.. 처음 접했을 때 구글링하면 나오는 이미지들.. 솔직히 처음에는 잘 이해하지 못했다.

    그리고 직접 구현을 하고 이해를 하니 그때서야 이해할 수 있었다. (내가 바보일 수도..?)

    그래서 나 같은 사람을 위해 글을 작성하려한다.

    일단 아래 이미지를 보자.

    Oauth 구조


    위 그림을 별거 없다.

    예시를 웹 페이지는 쿠팡, sns 로그인을 이용할 것은 네이버로 하겠다.

    즉 쿠팡은 그냥 sns 로그인 api를 이용하는 모든 웹페이지라고 보면 되고, 

    네이버는 로그인 api를 제공하는 모든 sns라 보면 된다. 

    1. Resource Owner는 Client Application에 Access service 한다.

      - 사용자는 쿠팡 페이지에 접속한다.


    2. Client Application에서 Resource Server에 Access data 한다.

      - 사용자가 쿠팡에서 네이버 로그인을 통해 로그인을 하고자 한다.

        * Oauth 이용하는 SNS 서버는 자원 서버(Resource Server), 인증 서버(Authorization Server) 분리되어있다.

          즉 자원 서버와 인증 서버는 역할만 다를 뿐 네이버의 것이다.


    3. Resource Server는 Delegate authentication authorization 하기 위해 Authorization Server에 보낸다.

      -  이름 그대로 자원 서버는 로그인 사용자 자원을 인증하기 위해 인증 서버로 넘겨주는 것이다.


    4. Authorization Server는 Client Application로 issue authorization code/access token  

      - 인증 서버는 접속한 웹 페이지의 서버로 인증 코드와 액세스 토큰을 발행해준다.

        * 실질적으로 발행 받은 인증 코드와 액세스 토큰을 통해 네이버의 로그인 서비스를 이용할 수 있게 된다.

      

    5. Resource Owner는 Authorzation Server로 Grant access

      - 쿠팡 페이지에서는 사용자의 인증이 완료되어 네이버 로그인이 가능하게 되었다.


    위 설명은 대략적인 흐름이다.

    하.. 미안하다.. 전문 용어를 왠만하면 안 쓸려고 하다보니 너무 많은 내용이 빠진 것 같다.

    글을 적으면서 계속 지웠다 썻다 반복했다.... 이유는.... 역시 구현해봐야안다. 

    이번 글에서는 대략 저런 흐름이구나라도 알았으면 좋겠다.

    그래서 다음 글에서 실제로 진행해보겠다.








    반응형

    댓글

Designed by Tistory.