SlideShare a Scribd company logo
‘2011 소셜커머스 ProjectS                                                            개발/소스
                                                                               2011.07.26– Ver. 0.1




                       SNS API분석 : OAuth
                [Source Code ; Twitter, Facebook, Google, MSN, Nate, ME2DAY]




                                            2011.07
                                               .
                                               .
                                               .
                                        IT사업팀 개발1팀
‘2011 소셜커머스 ProjectS
                                 2011.07.26– Ver. 0.1




   1. Project 개요

   2. OAuth 개념도

   3. SNS 별 Consumer Key 획득 방법

   4. Source Code

   5. 분석 결과 및 진행예정 안
‘2011 소셜커머스 ProjectS
                                                                                                                           2011.07.26– Ver. 0.1


  1. Project 개요
      소셜커머스의 소셜화 운영을 위해 SNS의 API를 활용하고자 함.
      SNS API 활용을 위해서는 SNS에 인증이 필요하고, 이 인증방식의 표준으로 OAuth 를 제공하고 있음.
      따라서, OAuth 인증방식의 구조를 파악하고 구현 테스트 하여, SNS API를 손쉽게 사용할 수 있도록 하기 위함.

  2. OAuth 개념도

                               Request
                                                                                               Access
                                Token
                                                                                               Token
                     Request                           Authorize                     Access
   Consumer           Token                              URL                         Token
                       요청                                접속                           요청
                                                                                                                        SNS API
                                                                                                                       서비스 이용
                                     Request                                 인증                       Access
  Service Provider                    Token                                   및                       Token
                                       전달                                    로그인                       발급

                ※ Consumer key 를 발급받고, Request Token을 요청한 후, Request Token으로 Access Token 을 요청하여 인증 하는 방법


   ◈ 변수흐름
                                    Request Token                                                                    Access Token

                                                                                         oauth_consumer_key
    oauth_contomer_key
                                                                                         oauth_token
    oauth_signature_method        oauth_token                                            oauth_signature_method
    oauth_signature
                                  oauth_token_secret               oauth_token           oauth_signature          oauth_token
    oauth_timestamp
                                  oauth_callback_confirme          oauth_verifiler       oauth_timestamp          oauth_token_sercret
    oauth_nonce
                                  d                                                      oauth_nonce
    oauth_version
                                                                                         oauth_version
    oauth_callback
                                                                                         oauth_verifire
‘2011 소셜커머스 ProjectS
                                                                                                              2011.07.26– Ver. 0.1


  3. SNS 서비스 별 Consumer Key 획득 방법 : 사이트 URL 및 CallBack URL 등록
     서비스 명                  신청 메뉴                                      신청 URL                             비고
      Twitter   Create an app                         https://dev.twitter.com                       비교적 간단
    Facebook    앱                                     http://developers.facebook.com                비교적 간단
     Google     Create ID for web application         https://code.google.com/apis/console          상세한 안내
      MSN       My applications                       https://manage.dev.live.com                   방대한 자료(검색 난해)
      Nate      Consumer key 발급신청                     http://devsquare.nate.com                     구현의 어려움
     Me2day     me2API 애플리케이션 키 요청                    http://me2day.net/api/front/appkey            Naver인증방식과 다름


  4. Source Code : 개발에 참조된 URL
     서비스 명                                                        구현 개요
                twitteroauth 사용 구현 -
      Twitter
                (http://net.tutsplus.com/tutorials/php/how-to-authenticate-users-with-twitter-oauth/)
    Facebook    facebook-php-sdk 사용 구현 (https://github.com/facebook/php-sdk/)
     Google     Google OAuth 2.0 구현 - (http://code.google.com/apis/accounts/docs/OAuth2.html)
      MSN       Windows Live Oauth 2.0 구현 - (http://msdn.microsoft.com/en-us/library/hh243647.aspx)
      Nate      네이트 인증 API 개발자 가이드 참조 - (http://devsquare.nate.com/openApi/nateAuthAPIDevGuide)
     Me2day     미투데이 사용자 인증 참조 – (http://dev.naver.com/openapi/apis/me2day/me2api_intro#metwo3)

                                   ※ 상세 내역은 “SNS API분석:OAuth[Source Code;Twitter, Facebook, Google, MSN, Nate, ME2DAY]” 참조
                                       ※ PHP OAuth 를 사용하기 위하여 PECL 및 OAuth가 설치되어야 하며 CULR을 사용할 수 있어야 함
‘2011 소셜커머스 ProjectS
                                                                     2011.07.26– Ver. 0.1


  5. 분석 결과 및 진행 예정 안

    1) 분석 결과

        OAuth 라는 표준안을 기준으로, 각 SNS OAuth 마다 권장방식이 다름

        제공 매뉴얼(자료)의 부재 ; 국내자료는 물론, 국외 자료도 비교적 적은 상황

        서비스 속도의 문제 : 국외 서비스의 속도 문제

        제한된 호출 ; 각 SNS별로 제한된 호출로 서비스 이용

        서비스 제공업체(Service Provider) 의존적
         (Daum 같은 경우 표준 PHP OAuth 를 이용하고 있지만, 정상적인 값이 리턴되는 것을 확인할 수 없었음)



    2) 진행 예정 안

        SNS API별 마케팅 가능한 요소 검색 ; 트위터의 DM, Facebook의 쪽지 기능 등

        OAuth Source 최적화

        SNS API 속도개선을 위한 로직 설계
‘2011 소셜커머스 ProjectS
                           2011.07.26– Ver. 0.1




                       감사합니다

More Related Content

Similar to SNS API분석 : OAuth 분석 (20)

PPTX
생활코딩 oauth 소개
Binseop Ko
 
PDF
소셜 네트워크 앱 개발
Kenu, GwangNam Heo
 
PDF
KTH_Detail day_화성에서 온 개발자 금성에서 온 기획자 시리즈_7차(2)_Oauth_박민우_20120718
KTH, 케이티하이텔
 
PPT
Skcomms openapi
기덕 박기덕
 
PPTX
OAuth - GDG Korea Women 2014 첫 스터디
Jua Alice Kim
 
PDF
Apps Code Bible II_제 2회 Hello, Dev.Square 개발자 세미나
Cyworld AppStore (SK Communications)
 
PDF
Using google api in go
Jongmin Kim
 
KEY
[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기
KTH, 케이티하이텔
 
PDF
스타트업을 위한 성공적인 Open AP 만들기 - 윤석찬 (2012)
Channy Yun
 
PDF
Oauth 이해 (소셜로그인)
Eunsung Lim
 
PPTX
우리 FISA 1차 기술 세미나 발표자료 : OAuth2.0과 JWT의 이해
am23am45
 
PDF
루비온레일즈 API 서버 - 4) api 서버 인증 구현 (쿠키/세션/토큰)
Junghyun Park
 
PPTX
페이스북,트위터기능 (1)
현 나
 
PDF
Mcc numeric iadam
Seung Min Shin
 
PDF
OAuth2.0
YongHyuk Lee
 
PDF
M baa s트랜드 소개
Myungjin Choi
 
PPTX
토큰 기반 인증 방식_개발3팀 박경현.pptx
ssuser95f7c8
 
PPT
20120512 공개sw개발자대회 sk플래닛기업과제소개
Lee Ji Eun
 
PDF
Deview2009 A4 Open Api
Taehyun Brad Kim
 
PDF
개발자와 협업하기 위한 API의 이해 - API를 준비하는 금성인을 위한 안내서
동수 장
 
생활코딩 oauth 소개
Binseop Ko
 
소셜 네트워크 앱 개발
Kenu, GwangNam Heo
 
KTH_Detail day_화성에서 온 개발자 금성에서 온 기획자 시리즈_7차(2)_Oauth_박민우_20120718
KTH, 케이티하이텔
 
Skcomms openapi
기덕 박기덕
 
OAuth - GDG Korea Women 2014 첫 스터디
Jua Alice Kim
 
Apps Code Bible II_제 2회 Hello, Dev.Square 개발자 세미나
Cyworld AppStore (SK Communications)
 
Using google api in go
Jongmin Kim
 
[H3 2012] Open API 와 Ruby on Rails 에 대한 이야기
KTH, 케이티하이텔
 
스타트업을 위한 성공적인 Open AP 만들기 - 윤석찬 (2012)
Channy Yun
 
Oauth 이해 (소셜로그인)
Eunsung Lim
 
우리 FISA 1차 기술 세미나 발표자료 : OAuth2.0과 JWT의 이해
am23am45
 
루비온레일즈 API 서버 - 4) api 서버 인증 구현 (쿠키/세션/토큰)
Junghyun Park
 
페이스북,트위터기능 (1)
현 나
 
Mcc numeric iadam
Seung Min Shin
 
OAuth2.0
YongHyuk Lee
 
M baa s트랜드 소개
Myungjin Choi
 
토큰 기반 인증 방식_개발3팀 박경현.pptx
ssuser95f7c8
 
20120512 공개sw개발자대회 sk플래닛기업과제소개
Lee Ji Eun
 
Deview2009 A4 Open Api
Taehyun Brad Kim
 
개발자와 협업하기 위한 API의 이해 - API를 준비하는 금성인을 위한 안내서
동수 장
 

SNS API분석 : OAuth 분석

  • 1. ‘2011 소셜커머스 ProjectS 개발/소스 2011.07.26– Ver. 0.1 SNS API분석 : OAuth [Source Code ; Twitter, Facebook, Google, MSN, Nate, ME2DAY] 2011.07 . . . IT사업팀 개발1팀
  • 2. ‘2011 소셜커머스 ProjectS 2011.07.26– Ver. 0.1 1. Project 개요 2. OAuth 개념도 3. SNS 별 Consumer Key 획득 방법 4. Source Code 5. 분석 결과 및 진행예정 안
  • 3. ‘2011 소셜커머스 ProjectS 2011.07.26– Ver. 0.1 1. Project 개요 소셜커머스의 소셜화 운영을 위해 SNS의 API를 활용하고자 함. SNS API 활용을 위해서는 SNS에 인증이 필요하고, 이 인증방식의 표준으로 OAuth 를 제공하고 있음. 따라서, OAuth 인증방식의 구조를 파악하고 구현 테스트 하여, SNS API를 손쉽게 사용할 수 있도록 하기 위함. 2. OAuth 개념도 Request Access Token Token Request Authorize Access Consumer Token URL Token 요청 접속 요청 SNS API 서비스 이용 Request 인증 Access Service Provider Token 및 Token 전달 로그인 발급 ※ Consumer key 를 발급받고, Request Token을 요청한 후, Request Token으로 Access Token 을 요청하여 인증 하는 방법 ◈ 변수흐름 Request Token Access Token oauth_consumer_key oauth_contomer_key oauth_token oauth_signature_method oauth_token oauth_signature_method oauth_signature oauth_token_secret oauth_token oauth_signature oauth_token oauth_timestamp oauth_callback_confirme oauth_verifiler oauth_timestamp oauth_token_sercret oauth_nonce d oauth_nonce oauth_version oauth_version oauth_callback oauth_verifire
  • 4. ‘2011 소셜커머스 ProjectS 2011.07.26– Ver. 0.1 3. SNS 서비스 별 Consumer Key 획득 방법 : 사이트 URL 및 CallBack URL 등록 서비스 명 신청 메뉴 신청 URL 비고 Twitter Create an app https://dev.twitter.com 비교적 간단 Facebook 앱 http://developers.facebook.com 비교적 간단 Google Create ID for web application https://code.google.com/apis/console 상세한 안내 MSN My applications https://manage.dev.live.com 방대한 자료(검색 난해) Nate Consumer key 발급신청 http://devsquare.nate.com 구현의 어려움 Me2day me2API 애플리케이션 키 요청 http://me2day.net/api/front/appkey Naver인증방식과 다름 4. Source Code : 개발에 참조된 URL 서비스 명 구현 개요 twitteroauth 사용 구현 - Twitter (http://net.tutsplus.com/tutorials/php/how-to-authenticate-users-with-twitter-oauth/) Facebook facebook-php-sdk 사용 구현 (https://github.com/facebook/php-sdk/) Google Google OAuth 2.0 구현 - (http://code.google.com/apis/accounts/docs/OAuth2.html) MSN Windows Live Oauth 2.0 구현 - (http://msdn.microsoft.com/en-us/library/hh243647.aspx) Nate 네이트 인증 API 개발자 가이드 참조 - (http://devsquare.nate.com/openApi/nateAuthAPIDevGuide) Me2day 미투데이 사용자 인증 참조 – (http://dev.naver.com/openapi/apis/me2day/me2api_intro#metwo3) ※ 상세 내역은 “SNS API분석:OAuth[Source Code;Twitter, Facebook, Google, MSN, Nate, ME2DAY]” 참조 ※ PHP OAuth 를 사용하기 위하여 PECL 및 OAuth가 설치되어야 하며 CULR을 사용할 수 있어야 함
  • 5. ‘2011 소셜커머스 ProjectS 2011.07.26– Ver. 0.1 5. 분석 결과 및 진행 예정 안 1) 분석 결과  OAuth 라는 표준안을 기준으로, 각 SNS OAuth 마다 권장방식이 다름  제공 매뉴얼(자료)의 부재 ; 국내자료는 물론, 국외 자료도 비교적 적은 상황  서비스 속도의 문제 : 국외 서비스의 속도 문제  제한된 호출 ; 각 SNS별로 제한된 호출로 서비스 이용  서비스 제공업체(Service Provider) 의존적 (Daum 같은 경우 표준 PHP OAuth 를 이용하고 있지만, 정상적인 값이 리턴되는 것을 확인할 수 없었음) 2) 진행 예정 안  SNS API별 마케팅 가능한 요소 검색 ; 트위터의 DM, Facebook의 쪽지 기능 등  OAuth Source 최적화  SNS API 속도개선을 위한 로직 설계
  • 6. ‘2011 소셜커머스 ProjectS 2011.07.26– Ver. 0.1 감사합니다