본문 바로가기

개발/App Developer

맥부기펌] 9/2 트위터 인증변경관련

출처 : http://cafe.naver.com/mcbugi

아 뭐 실력이 미천한제가 여기 글을 남길자격이 있나모르겠지만,

강좌라 생각하진 마시고, 여태 맥부기에서 너무 도움을 많이 받았는데
혹 도움이 될까 싶어서 몇일 헤맨 제 경험담을 남길께요.

저만 헤맨건지 모르지만 ㅋㅋ


일단 기존어플에 트위터 포스팅하는 기능을 넣었는데,
그냥 멘션 하나 날리는거였습니다.
(post방식으로 몇줄 넣었떠니 잘날라가데요^^)

 

9월 2일인가 뭔 트위터 인증방식이 바뀌었네 하는 소릴 귀뚱으로 듣다가,
혹시 하고 해보니 않된다는. ㅠㅠ

 

뭘해야 하나 열심히 뒤져본 결과, oAuth 방식으로 인증을 받고,
토큰을 받아다가(버스?) 뭘 여차저차 하면된다..
무슨 암호를 해독하는것도 아니고 ㅠㅠ

 

일단 OAuth 이놈이 뭔지 알아야것더군요.
http://dev.springnote.com/pages/1083036 요기가면 잘(?) 설명되어있습니다.
http://aproxacs.springnote.com/pages/1279246.xhtml 여기도요.
http://dev.twitter.com/pages/sign_in_with_twitter 요기가면 트위터사에서 왠 암호같은 글로
설명되어있구요.

 

자아알 설명되어있다는데, 통 뭔말인지 모르겠다 싶더군요. ㅠㅠ
대충 정리해보니 웹사이트나 클라이언트에서 트위터 사용자 아이디/패스워드를
넣고 트위터API를 쓰게되면 혹 그 웹사이트나, 클라이언트에서 아이디 유출이 발생할수있다.
고로 뭐 oAuth방식을써서 트위터를 사용하려면 트위터사이트의 인증페이지가 뜨고
그 사이트(트위터사)에 아이디 패스워드를 넣으면 이상한숫자(토큰?)를 받고
그걸 사용자가 거 웹사이트나 어플에 넣으면 아이디/패스워드 유출을 막을수있다.

뭔... 이런소리같은데.. 암튼 이걸 나도 모르겠고 사용자는 어찌알란말인가.
어플에 난데없이 트위터 홈이뜨고 거기에 자기 아이디/패스를 넣으면 숫자를 잘 외워서
그걸 어플에 어디넣어라..(난 못한다 ㅠㅠ)

 

결국 이게 아닌갑네 하고 헤매다 보니
xAuth방식이란게 있더군요.
일종에 트위터에서 뒷문을 슬쩍열어줬다?


아무튼 이방식으로 하면 기존처럼 사용자는 아이디/패스를 넣고 내부적으로
인증처리하고 사용할수있다는 뜻이더군요.

우선 뭘 해야하는가.
먼저 트위터사에 어플리케이션을 인정받으셔야 합니다.
http://dev.twitter.com/apps/new
요기서 등록하면 oAuth 방식만 바로 허용이 됩니다.

그러나 제가 쓰고싶은건 xAuth 방식의 뒷문.
그 방식으로 사용하고 싶으면 위에서 등록하고 트위터사에 메일을 보내야합니다.
http://dev.twitter.com/pages/xauth 요길보면 xAuth방식 쓰려면 메일보내라 이소리..

메일보냈습니다 ㅠㅠ 물론 영어 않됩니다 ㅠㅠ
대충 내용은 '아이폰 앱에서 너네껄 쓰고있었는데 않된다. 사용하게 열어달라'
application name 는 뭐고, consumer key 키는 뭐고, 내 이름은 뭐고, 트윗아이디까지.
혹시 몰라 기존 어플주소까지 달려서 보냈습니다.

 

일단 이리해놓으면 뭔 티켓인가가 메일로 날라오고 접수가 된듯.
그리고 심사를 약3일정도 하는듯합니다.

 

여기까지 해놓고 심사를 기다리는동안. 소스를 어떻게 고쳐야 하나 다시 찾아봤습니다.
결국 답은
http://github.com/aral/XAuthTwitterEngine
소스 받아다가 적당히 붙이기^^
트위터사 아이폰 예제프로그램에도 저 사이트가 있는거보면 써도 되는듯^^

http://dev.twitter.com/pages/oauth_libraries#objectivec

 

MGTwitter을 이용한 XAuth 사용방법이던데,
oAuth, xAuth를 사용할수있는 oAuthConsumer 라이브러리가 포함되어있습니다.


뭐 그 라이브러리를 제가 해석할 능력은 없고, 적당히(?) 갖다붙이고(데모를보면서)
3일만에 승인이난 Consumer key, Consumer secret를 넣고 테스트 하니 잘갑니다.^^

한글 사이트가 참 아쉬웠는데
아랫분 블로그에서 많은도움을 받았습니다(감사합니다^^)
http://dreamofblue.tistory.com/73
http://dreamofblue.tistory.com/76

 

이상 요 몇일 헤맨 제 경험담이었습니다. ^^

꾸벅


답변 :

http://github.com/bengottlieb/Twitter-OAuth-iPhone
전 우선 OAuth 방식을 그대로 쓰는데요..
위 사이트 가셔서 파일 다운 받으시고.. Twitter+OAuth 이놈을 자기 폴더로 복사하신 후에..
안에 있는 View Controller 만 잘 수정하면 되요..

위에서 말씀하신 숫자는 UserDefault에 저장 되고..
다른 사람이 로그인 할 때는.. UserDefault 내부 번호만 잘 바꿔주면..
OAuth 생각보다.. 편리하네요.. 아이디/패스워드 저장 안해도 되고..
로긴 페이지 따로 안만들어줘도 되고..^^

--댓글

=============  댓글 내용 ===========================

http://github.com/bengottlieb/Twitter-OAuth-iPhone
전 우선 OAuth 방식을 그대로 쓰는데요.. 
위 사이트 가셔서 파일 다운 받으시고.. Twitter+OAuth 이놈을 자기 폴더로 복사하신 후에..
안에 있는 View Controller 만 잘 수정하면 되요.. 

위에서 말씀하신 숫자는 UserDefault에 저장 되고.. 
다른 사람이 로그인 할 때는.. UserDefault 내부 번호만 잘 바꿔주면.. 
OAuth 생각보다.. 편리하네요.. 아이디/패스워드 저장 안해도 되고.. 
로긴 페이지 따로 안만들어줘도 되고..^^


============ 댓글 내용 ===============

하단에 댓글 달았던 사람입니다.. 
댓글을 보시고 몇 몇 분들께서.. 메일 및  쪽지로 연락을 주셨는데..ㅠ
일에 치어 살다보니.. 이제야 그에 대한 답글을 달아 드립니다. 

우선 첨부파일을 다운 받으시면.. 허접하게 나마.. 
적용한 버전이 있으니.. 다운 받으셔서 사용하시면 됩니다. 

모르시는 분들을 위해.. 간단히 설명을 하지면.. 
가셔서 다운을 받으시고... 
압축을 푸시면 Demo 라는 폴더가 있을꺼에요..
거기서 프로젝트를 실행시키시고... 
Twitter + OAuth 폴더를 선택 하셔서..
원하는 곳에 드래그 & 드롭을 하시면 복사 완료.. ^^ 


그 다음은.. 코드를 실행 시키면 되는데요.. 
하단의 그림 처럼.. 특정 버튼을 눌렀을 때.. 




OAuth인증창이 보이게 끔.. 하는 코드를 넣습니다.
당연히.. 몇가지 Delegate 및 선언하는 부분은.. 소스코드에 있으니.. 생략하겠습니다.

도움이 되었으면 좋겠네요.. ㅎㅎㅎ 




'개발 > App Developer' 카테고리의 다른 글

* 놈에 대한 참고 하나더  (0) 2010.11.12
앱에서 카메라 사용시 프레임웤 관련  (0) 2010.11.12
sqlite 공부시 도움 블로그  (0) 2010.10.04
테이블 스페이스 용량 보기  (0) 2010.09.13
Core Data 란?  (0) 2010.09.06