이 블로그 검색

2011년 4월 26일 화요일

트위터를 이용한 어플개발.

요즘 sns라는 것이 대세다. sns라는 용어가 정확히 무엇을 말하는지는 아는 바가 없고 단지 트위터, 페이스북 같은 쇼셜앱을 말하는 것으로 알고 있을 뿐이다. 워낙 약자들이 난무하는 세태라 그것들을 전부 외울라치면 상당한 에너지가 들기 때문에 나는 그것들의 핵심만 이해해서 에너지소비를 최소화한다. 여러분들도 저같이 하는 것이 정신건강에 좋을 것이다.

서론은 이쯤에서 그만하고 본론으로 들어가보자.
트위터를 이용해서 어플을 개발하려고 트위터에 대한 정보를 입수하는 과정에서 트위터에 로그인(인증)하는 방식이 달라졌다는 것을 알 수 있었다. 현재 어플리케이션의 로그인방식이 OAuth라는 프로토콜을 사용하는 것으로 바뀌었다.

바뀐 사항을 알기전 나는 기존의 인증방식을 사용한 코딩을 컴파일한 후 트위터의 목록을 가져오려했지만 결과는 NullPointException-아무것도 가져오지 못함-이 발생하였다. 혹시 라이브러리의 변화가 있었는가 검토하는 중에 라이브러리 소스들이 변화되었음을 알 수 있었다. OAuth를 적용한 방식이라는 것인데 일반인들은 이해하기가 어려운 프로토콜이다.

OAuth방식을 일반인들이 쉽게 이해하기란 좀 어려운데, 쉽게 설명해 보겠다.

사진을 올려서 여러사람과 공유하는 사이트(A사이트),사진을 인쇄할 수 있는 사이트(B사이트) 이렇게 두개의 사이트가 있다고 하자. A사이트 회원인 홍길동은 최근에 찍은 가족 사진을 A사이트에 올렸다. 그의 가족과 지인들은 그 사진에 만족해하며 즐거워한다. 그런데 홍길동의 회사 동료가 자기도 그 사진을 보고 싶다고 한다. 그러나 홍길동은 몇몇 특정사진은 회사동료(김말자)에게 공개하고 싶지 않기 때문에 회사동료인 김말자가 A사이트에 들어가서 자기의 모든 가족 사진을 보기를 원하지 않는다. 그래서 사진 몇 장만을 인쇄해서 김말자에게 보여줄 생각으로 B사이트에 들어가 보여줄만한 사진만을 인쇄하고자 한다. 이제 B사이트에서는 현재 홍길동이 인쇄하고자 하는 A사이트로 연결을 해야하는 임무가 주어지게 된 것이다. 그러나 B사이트는 A사이트에 있는 홍길동의 사진을 인쇄하려는 자가 진짜 홍길동인지 알지 못하므로 A사이트로 로그인을 위임하고자 현재 페이지를 A사이트 로그인 페이지로  연결해준다. 홍길동은 A사이트 로그인 페이지에서 로그인을 하여서 정당한 권한이 있음을 증명한다. A사이트는 B사이트로 홍길동이 맞다는 증명서(토큰이라고 함)를 보내준다. 이제 B사이트는 홍길동이 맞다라는 증명서를 이용해서 A사이트에 사진을 인쇄할 수 있게 접근할 수 있는 접근 권한을 요청한다.  A사이트는 B사이트가 가지고 있는 홍길동 증명서와 접근허가권을 교환하여 주며 B사이트는 접근허가권을 이용해서 사진을 인쇄할 수 있게 된다.

실제로는 이것보다 더 복잡한 과정이 들어있지만 정리하자면 이렇다.-이해하기 난해하긴 마찬가지다.
아무튼 어플 개발은 고사하고 이 새로운 개념을 이해하는데만 하루가 걸렸다. 다음부터는 본격적인 개발이슈로 진입해보자.

댓글 없음:

댓글 쓰기