본문 바로가기

카테고리 없음

다음 오픈 API, OAuth 지원 시작

다음에서 OAuth 지원을 시작했다. 반가운 소식인데, 소식만 전해서는 좀 심심할 것 같아 "Hello Daum" 수준이라도 뭔가 만들어봐야 할 것 같다.
OAuth를 통해서 어떤 걸 할 수 있을지 알아보려면 일단 Consumer 등록을 해야하겠는데, 소박한 목표를 생각할 때 올해 초에 알게된 Sinatra가 적격인 듯!
Heroku 블로그에 소개된 Sinatra 앱 배포하기 포스트의 도움을 받아서 일단 껍데기 웹 서비스를 만들어봤다.


Mac OS X 1.6.2에 MacPorts로 ruby 1.8.7, rubygems 1.3.1이 설치된 상태에서 시작.

1. 필요한 gem 설치
sudo gem install heroku sinatra

2. Sinatra 어플 준비
mkdir -p ~/src/hello-daum && cd ~/src/hello-daum
cat > hello.rb <<EOF

require 'rubygems'

require 'sinatra'


get '/' do

"Hello from Sinatra on Heroku! We'll do exciting things with Daum's Brand New OAuth support!"

end

get '/confirm' do

"Daum OAuth Confirm Page"

end

EOF
cat > config.ru <<EOF
require 'hello'
run Sinatra::Application
EOF

3. Heroku에 배포
git init
git add .
git commit -m 'sinatra and heroku, two great tastes. Daum OAuth will come in shortly'
heroku create daumauth
git push heroku master
이걸로 끝. http://daumauth.heroku.com에 어플이 준비됐다. :-)

4. Daum OAuth Consumer 등록
컨슈머 등록 페이지( https://apis.daum.net/oauth/consumer/input )에 접속해서 필요한 사항을 입력하면 되겠다.
CallBack 경로는 (2)에서 준비해놓은 http://daumauth.heroku.com/confirm 으로 입력했다.

Consumer 관리 탭에서 발급된 Consumer Key와 Consumer Secret을 확인할 수 있다.

숙련된 조교가 못되다 보니 Heroku 블로그에서 말하는 것처럼 30초만에 끝내지는 못했지만 Consumer 등록까지 해도 그리 긴 시간이 소요되지는 않았다. Heroku와 Sinatra는 정말 멋진 조합인 듯!

내일은 Request 토큰 받아와서 사용자 인증 URL을 거쳐 Access 토큰을 받아서 저장해놓는 것까지 해볼 생각. 컨슈머 등록 폼의 내용을 봐서는 아직 OAuth 인증을 통해 기존 API들을 호출할 수 있는 것 같지는 않은데, 블로그 API가 첫 주자가 되어줄 것 같다. 오픈하자마자 테스트해볼 수 있게 부지런히 준비해둬야겠다. :-)