태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

'사용자 인증'에 해당되는 글 1건

  1. 2010.04.19 초보자를 위한 oAuth 가이드 - Workflow (6)
이 글은  Beginner’s Guide to OAuth – Part II : Protocol Workflow 의 주요 내용을 한글로 번역, 의역하여 초보자도 알기 쉽게 설명한 글 입니다.

사실은 저를 위한 정리입니다만, 같이 보면 좋을것 같아서 블로그에 올립니다.



OAuth의 흐름에 대하여 실제 예를 들어서 설명해 보고자 한다.

Flow Step 1

제인은 2주간의 스코트랜드 휴가를 다녀왔다.
그녀가 집에 돌아왔을때 그녀의 친구들과 휴가 사진을 공유하고 싶어졌다.
그녀는 사진 공유를 위하여 Faji.com 을 사용하고 있어서 비공개 상태로 2장의 사진을 업로드 했다.


OAuth의 개념으로 , 제인은 User 이고, Faji 인 Service Provider 이다. 업로드된 2개의 사진은 Protected Resources 이다.

Flow Screen 1

몇몇의 친구들과 사진을 공유한 그녀는 할머니에게도 사진을 공유하고 싶어졌다.

그렇지만 할머니는 인터넷을 사용하지 않으시기 때문에 온라인 사진인화 서비스를 이용하여 인화후에 우편으로 사진을 보내려고 한다. 온라인 사진 인화 사이트로는 Beppa를 사용하고 있다.



OAuth의 개념으로 Beppa는 Consumer이다.  왜냐하면 제인은 사진을 비공개로 설정해놓았기 때문에 Beppa는 사진인화를 위하여 그 사진들에 대한 access 권한을 얻기 위하여 OAuth를 사용해야 하기 때문이다.

제인은 Beppa.com을 방문하여 사진 주문을 시작하였다. Beppa는 다른 사진 사이트들로부터의 import를 지원하고 있고 제인은 Faji를 선택 하고 계속 버튼을 클릭하였다.


Flow Screen 2

Beppa.com에서 Faji 의 사진을 import 하는 기능을 support 하기 위하여서는 Beppa 개발자 - OAuth개념에서 Consumer Developer - 는 Consumer Key와 Consumer Secret 을 Faji로 부터 받아야만 Faji의 OAuth API를 사용할 수 있다.


제인이 계속 버튼을 클릭한순간 background에서는 중요한 일이 발생한다.

Beppa는 Faji로 request token을 전송한다. 이 Request Token은 사용자별로 생성되는 것은 아니기 때문에 제인의 비공개 사진에 접근하기 위하여서는 그녀(User)의 허락을 얻어야만 한다.


Flow Step 2

제인이 계속 버튼을 클릭하고 화면이 바뀌길 기다리고 있다.


Beppa가 Request Token을 받게 되면 Beppa는 Request Token과 함께 Faji의 OAuth 사용자 인증 URL로 redirect를 한다. 물론 이때 제인이 동의를 하게 되면 http://beppa.com/order 페이지로 다시 돌아오도록 요청한다.

제인이 Faji로 redirect 되면 로그인을 요청받게 된다. OAuth는 Service Provider의 User 인증을 먼저 요청하고 그 후에 Consumer에게 access권한을 요청하기 때문이다.

제인은 브라우저의 URL을 보고 Faji 페이지로 왔다는 것을 인지하고 그녀의 아이디와 패스워드를 입력한다.



Flow Screen 3

OAuth는 그녀의 아이디와 패스워드를 Beppa나 다른 사이트와는 공유하지 않도록 해주며,  그녀의 개인적인 정보를 beppa.com에 입력할 필요가 없게 해준다.

Faji에 성공적으로 로그인한 후에 , Consumer인 Beppa에서 접근할 수 있도록 허가 해 줄것을 요청받는다. 
Faji는 제인에게 Beppa가 접근할 것을 요청하였다는 것을 알려주고,  제인은 허용하거나 거부할수 있다.

제인은 Beppa가 제안적인 접근을 하려고 한다는 사실을 확인한다. 제인은 Beppa가 그녀의 사진이나 다른것을 변경하도록 허용하는 것을 원하지는 않고 있다.  Beppa는 그녀의 사진을 가져오기 위하여 오직 이번 한번만 한시간 동안만 접근할 수 있다는 사실을 인지하게 된다.


Flow Screen 4

제인이 이 요청을 허용하게 되면 Faji는 Request Token을 제인에 의하여 사용자가 허용하였다고 표시해 둔다.

제인의 브라우저는 Beppa로 리다이렉트 되는데 이전 Request Token과 함께 제공되어진 http://beppa.com/order 주소로 리다이렉트 된다.

이제 Beppa는 제인의 사진을 가져올 수 있다는 것을 알게 된다.

제인은 Beppa가 그녀의 사진을 Faji로 부터 가져오기를 기다린다.

Flow Screen 5

제인이 기다리는 동안 Beppa는 허용된 Request Token을 이용하여 Access Token을 받게 된다.

Request Token은 오직 사용자의 허용을 요청할때만 유효하고, 반면 Access Token은 제인의 사진과 같은 제한적인 리소스에 접근할수 있다.

Flow Step 3

Beppa가 작업을 끝내면 제인의 브라우저는 리로드 되면서 작업은 마무리 된다.

Beppa는 성공적으로 제인의 사진을 가져왔다.


제인은 Beppa가 그녀의 Faji 아이디와 패스워드를 물어보지도 않고 사진을 가져오는 기능에 감동 받았고 그녀의 사진을 인화하도록 주문을 마쳤다.

Flow Screen 6


Posted by Breeze.Kang

댓글을 달아 주세요

  1. 심홍섭

    좋은 글 감사드립니다.

    2010.05.25 10:09 [ ADDR : EDIT/ DEL : REPLY ]
    • Breeze

      방문해주셔서 감사합니다. (__)

      2010.05.26 01:16 [ ADDR : EDIT/ DEL ]
  2. 김상형

    정말 깔끔하게 잘 번역해 놓으셨네요.
    덕분에 많은 시간을 아끼게 되었습니다.

    2010.06.04 19:33 [ ADDR : EDIT/ DEL : REPLY ]
    • Breeze

      감사합니다. 번역은 오랜만에 하는것이라 어색하지는 않은지 모르겠습니다.

      2010.06.09 14:38 [ ADDR : EDIT/ DEL ]
  3. 깔끔하게 잘 정리해놓으셨네요, 감사합니다^^

    2010.07.10 12:00 [ ADDR : EDIT/ DEL : REPLY ]
    • Breeze

      방문해주셔서 감사합니다.

      2010.09.28 10:08 [ ADDR : EDIT/ DEL ]