Open API의 가장 큰 골칫거리 중에 하나가 OAuth 인증이라는 사실처럼, OAuth 인증을 이해하고 적용하는 건 개발자에게도 어려운 일입니다. 이는 OAuth 댄스라는 이름으로 대표되는 복잡한 인증 절차 때문이죠. 사용자의 계정 정보(id/pw) 제공하지 않고, 우회하는 방법으로 사용자의 정보를 제공하기 위해선 복잡할 밖에 없을 테지만요.

문제는 처음 제작된 OAuth 인증 페이지의 UX 사용자를 충분히 고려하지 못하고 있는 점입니다특정 서비스를 이용하기 위해 다른 서비스의 아이디와 비밀번호를 넣어야 하는 불안감을 떨쳐줄 있는 설명은 커녕승인 버튼을 누르고 누르고 눌러야만 인증이 완료되는, 복잡한 프로세스는 개발자들이 OAuth를 적용하면서 스트레스를 받는 것 이상입니다.


그래서, 다음 OAuth 인증이 이렇게 변경됐습니다.

1. 인증 프로세스 간소화

기존에는 4 이상 승인 버튼을 눌러야만 인증을 완료할 있었는데, 1번만 버튼을 누르더라도 인증이 완료될 있도록 프로세스를 개편했습니다. 복잡한 OAuth 인증 프로세스는 개발자들에게만 해당되야지, 사용자에까지 해당되면 안되잖아요! (물론 다음 계정에 로그인하지 않은 사용자는 로그인을 위한 프로세스가 추가됩니다.)


2. 권한 요청 내용 

OAuth 인증을 통해, (어플리케이션) 사용자에게 어떠한 권한을 요청하는지 명확히 알려줍니다. 두리뭉실하게 설명하거나 심지어 설명하지 않은채, 무턱대고 권한만 요청하는 앱과 OAuth 인증 방식을 어떤 사용자가 신뢰할 있을까요? 원치 않는 권한 요청이라면 취소 버튼을 눌러주세요!



  1. Read, Read+Write 권한 요청에 따른 구분
  2. 권한 요청하는 API 서비스 명시
  3. 상세 내용은 비슷한 내용끼리 묶어서 제공
  4. 상세 내용은 접고 펼칠 있는 폴딩 기능 제공

3. 반응형 레이아웃

기존 팝업으로 제공되던 OAuth 인증 화면을 페이지 형식으로 변경했고, PC 모바일 기기를 포함한 다양한 디바이스를 대응하기 위해 반응형 디자인(Responsive Web Design) 적용했습니다. 최신 브라우저 중에서 팝업을 블럭하지 않는 경우를 있나요? 팝업은 사용성을 저해하는 주범이잖아요!

데스크탑 PC:

모바일 디바이스:


4. 깨알같은 재미까지

OAuth 인증이 성공했을 때, 또는 다양한 이유로 인해 실패했을 때 각종 안내 메시지를 확인할 수 있습니다. 개발자 분들을 위해 숨겨둔 화면(버그라고 하죠;)을 찾아서 알려주시면, 바로 수정하겠습니다.


마치기 전에...

다음 OAuth 인증은 2010 6월에 블로그 API 함께 제공되기 시작해서, 현재는 카페, 요즘, 캘런더, 티스토리 API처럼 다음의 로그인 기반 서비스 전반에 걸쳐 제공되고 있습니다.

다음 OAuth 인증을 활용한 여러 사례가 있는데,  특히 사용자가 작성한 컨텐츠(또는 그림) 또는 프로그램이 생성한 컨텐츠를 다음의 서비스에 공유하는 경우가 많습니다. “여성가족부, 인터파크 도서, 레포트샵, 미투데이, 네이버 뉴스 소셜 댓글, T-talk, 소셜XE, 소리뷰 여러 곳에서 다음의 서비스에 컨텐츠를 공유하기 위해 다음 OAuth 인증을 활용하고 있습니다.

이번, 다음 OAuth 인증 개편으로 많은 사용자들이 보다 쉽게 3rd party 개발사의 매쉬업 다음 서비스를 이용할 있었으면 좋겠습니다.

신고
Posted by 비회원
TAG API, Daum, oAuth, 개편

댓글을 달아 주세요

  1. zerost 2012.08.11 00:32 신고 Address Modify/Delete Reply

    oauth2.0은 지원할 계획은 없나요?

    • Favicon of http://daumdna.tistory.com BlogIcon 타돌이 2012.08.11 00:48 신고 Address Modify/Delete

      우선 2.0 스팩이 확정되지 않아서 천천히 진행하고 있습니다. 올해 중에는 계획이 없고, 내년정도에 하게 되지 않을까 싶네요.

  2. 지나다가 2014.07.02 11:11 신고 Address Modify/Delete Reply

    구글 web speech API와 비슷하네요?

"다음 아이디로 손쉽게 로그인할 수 있는 프로필 API가 없나요?"


최근에 소셜웹이 활성화되면서 트위터나 페이스북 사용자가 국내에도 급격히 늘면서 가장 많이 던지는 질문 중 하나입니다. 많은 소셜앱이 트위터나 페이스북을 통해 로그인 기능을 제공하고, 공개 프로필을 제공함으로서 사용자 아이덴티티(Identity) 확인 기능을 제공하고 있기 때문이죠.


그로 인해 신규 서비스를 만드는 많은 벤처 기업들은 별도의 회원 가입이나 로그인 기능을 제공하지 않고도, 손쉽게 사용자 확인 기능을 사용해서 다양한 서비스를 만들어 내는 이점을 가지고 있습니다. 그러니, 국내 최대 로그인 플랫폼 중에 하나인 Daum에 그러한 기대를 하는 것도 당연한 것이지요. 


물론 사용자 아이덴티티 서비스에 대해서는 다음이 국내 어느 인터넷 기업 보다도 적극적이었습니다. 국내 포털 최초로 오픈ID(2006년 도입, 지난 2월 서비스 종료) 및 오픈 소셜(2008년 도입, 위젯뱅크에서 활용 중)을 도입했는가 하면, 제휴 업체를 위해서 쇼핑원 같은 싱글사인온(SSO) 플랫폼도 제공하고 있습니다.  Daum DNA가 제공하는 자체 인증 API(2006년 도입, 지난해 종료), OAuth 기반의 API 인증(2010년 도입) 역시 포털 업계에서는 처음 도입하였습니다. 사용자 개인 정보와 보안을 고려함과 동시에 가장 앞서서 신규 기술 구현을 해왔습니다.




그러나, 현재 널리 사용되고 있는 소셜 로그인 기능을 가진 OAuth 시스템은 사실은 사용자 인증용이 아니라 API 인증용으로서 만들어진 기술로서, 현재 오용될 사례가 크다는 문제를 가지고 있습니다. 사용자들은 그렇게 한 인증이 어떤 역할을 하는지 프라이버시 이슈는 없는지 모른채 그냥 쉬운 로그인 용도로만 생각하는 것이 큰 문제입니다. (OAuth 사용자 인증을 받은 앱은 거의 모든 프로필 데이터를 입수하거나, API 기능을 사용할 수 있으니까요.)


다음은 다른 국내 포털과 달리 기본적으로 '익명성'을 기반으로 성장해온 서비스입니다. 여러분도 아시겠지만, 회원 가입 시 주민 등록번호를 수집하지 않는 유일한 포털 서비스(최근에는 간편 가입 이용 가능)이며,  외부에 단일화된 공개된 프로필이 없습니다. 다음 메일도 그렇지만 카페에서도 개별 카페 마다 닉네임을 달리할 수 있습니다. 뉴스 댓글, 블로그, 티스토리도 닉네임이 다 다르며, 어느 하나 고정된 아이덴티티를 제공하고 있지 않습니다. 스팸 메일에 악용될 우려로 인해, 다음 아이디는 외부 공개가 되지 않는 것이 원칙입니다.


다만 2010년 2월 오픈한 '요즘(Yozm)'만이 공개 프로필의 역할을 하는 다음 내 서비스입니다. 철저히 익명화된 다음 서비스 내에서 요즘만이 공개적인 사용자 아이덴티티를 가지고 있는 셈이지요. 따라서, 소셜 로그인을 위한 기능을 제공한다면 '요즘 API'를 활용할 수 있을 것입니다.


최근에 네이버 뉴스 소셜 댓글 서비스에 요즘을 통한 다음 로그인 기능이 포함된 것이 바로 그런 방식입니다. 경쟁사이지만 상호 협력을 지속하고 있습니다. 또한, 소셜 댓글 벤처 기업인 라이브리티톡에도 사용자 인증 기능과 요즘에 글 보내기 기능을 제공중입니다.


하지만, 요즘을 통한 소셜 로그인 기능은 검증된 업체에만 제공하여, 사용자 프라이버시 보호나 API 기능이 악용되는 것을 막기 위해 노력하고 있습니다. 이것이 바로 다음이 소셜 로그인 기능을 본격적으로 제공하지 않는 이유 중 하나입니다.


물론 신뢰는 쌓으라고 있는 것입니다. 요즘 API를 통한 소셜 로그인이 필요하시면 언제라도 Daum DNA 개발자 카페에 알려주시면 함께 의논해 나가도록 하겠습니다.


아울러 공개 프로필을 선호하는 현재 추세를 따라서, 다음 사용자 중 공개 프로필을 만들고자 하는 사용자를 대상으로 별도의 서비스와 프로필 API를 제공하면 어떨까 하는 아이디어를 구상중에 있습니다. DNA 개발자 여러분이 더 많은 요구 사항이 있다면 더 빨리 만들어 지지 않을까 싶습니다.


저작자 표시 비영리 변경 금지
신고
Posted by 비회원

댓글을 달아 주세요

Daum 캘린더 API를 공개합니다. 캘린더API는 오래 전부터 많은 분들이 요청을 하셨던 API로서 드디어 공개하게 되었습니다.

이번 캘린더 API에서는 카테고리 및 일정과 관련된 기능들을 공개하며 OAuth 인증을 사용합니다.

제공하는 기능은 아래와 같습니다.

제공 기능

카테고리 기능

일정 기능

이번 캘린더API를 공개하면서 캘린더 API를 호출하는 PHP 버전의 OAuth 인증 튜토리얼도 함께 공개했습니다. 추후에 다른 언어에 대한 튜토리얼도 하나씩 공개해 나갈 예정입니다. 앞으로 많은 이용 부탁드립니다!


저작자 표시
신고
Posted by 타돌이

댓글을 달아 주세요

  1. ㅇㅇㅇ 2011.05.14 17:51 신고 Address Modify/Delete Reply

    일정생성 및 수정에 알림세팅은 없나요?

카페API 오픈

오픈API 2010.11.01 16:43 |
Daum은 800만개 이상의 카페를 보유하고 있습니다. 그 카페의 자원을 활용할 수 있는 API를 공개했습니다. 이번에 공개한 카페API는 Blog, yozm에 이어 OAuth 인증을 사용하는 3번째 API 입니다.

공개한 기능은 다음과 같습니다.


계속해서 외부 개발자분들의 니즈를 파악하여 다른 기능들도 하나씩 추가 공개하도록 하겠습니다.

많은 이용 바랍니다.
저작자 표시
신고
Posted by 타돌이

댓글을 달아 주세요

  1. Favicon of http://hyosang.kr BlogIcon 박효상 2010.11.01 17:17 신고 Address Modify/Delete Reply

    기다리던 카페 api가 발표되었네요
    근데 특정 카페의 닉네임 가져오는 api는 없나요?

    • Favicon of http://daumdna.tistory.com BlogIcon 타돌이 2010.11.01 18:33 신고 Address Modify/Delete

      아직 개인정보와 관련된 부분은 검토가 더 필요하여 공개하지 않습니다.

      말씀하신 부분도 참고하여 검토하겠습니다.

  2. Favicon of http://www.cybergarden.kr BlogIcon 김회상 2012.06.07 11:26 신고 Address Modify/Delete Reply

    다음 맵 API 에서 실시간 교통상황을 보여주는 레퍼런스는 없나요?
    있으면 좋겠는데...

    • Favicon of http://daumdna.tistory.com BlogIcon 타돌이 2010.11.03 10:18 신고 Address Modify/Delete

      해당 내용은 CP와의 계약 문제로 현재 제공하지 못하고 있습니다. 제공할 수 있는 방안을 검토중입니다.

※ 이 튜토리얼은 학습용으로만 사용하시고, 실제 서비스에 적용시에는 node.js 버전의 사용을 권장합니다.

제10회 Daum DevDay에서 OAuth 기반의 블로그API에 대한 소개 및 튜토리얼이 있었습니다. 행사 당일 인터넷 상태가 좋지 않아서 튜토리얼 진행에 다소 문제가 있었습니다.

그래서 블로그API 튜토리얼 동영상을 준비했습니다!

튜토리얼은 Daum 블로그API 개발자이신 커뮤니티개발2팀의 김종민님께서 수고해주셨습니다.

튜토리얼 동영상

 

HTML5 버전 보기

고화질 버전 다운로드 (AVI)


튜토리얼 소스코드

OAuth_ex.zip

저작자 표시
신고
Posted by 타돌이

댓글을 달아 주세요

  1. 임스 2012.06.16 14:38 신고 Address Modify/Delete Reply

    감사합니다 많은 도움이 되었어요 :)

  2. Favicon of http://giraffeb.tistory.com BlogIcon GiraffeB 2012.06.18 01:31 신고 Address Modify/Delete Reply

    감사합니다. 많은 도움이 되었어요!!

    좋은 튜토리얼입니다!!

지난 26일 로드뷰와 OAuth를 주제로 열렸던 제10회 Daum DevDay가 성황리에 마쳤습니다. 참고로 이번 행사는 KISA(한국인터넷진흥원)에서 장소를 후원해 주셨습니다.

참가 등록

9시 30분부터 참가 등록이었으나 행사시간에 대한 안내가 애매하게 전달되어서 9시도 되기 전에 오신 분들도 많았습니다. 그래서 처음에 좀 당황했네요^^; 다음부터는 좀 더 확실히 공지하도록 하겠습니다.

행사 소개 및 환영인사

Daum 신철원님의 짧은 소개 및 환영인사로 행사가 시작되었습니다.

 

Ice Breaking

환영인사가 끝난 후 Ice Breaking은 제(Daum 이승철)가 진행했는데, 단순히 자기소개를 했던 예전과 다르게 이번에는 약간 색다른 방법을 도입했습니다. 자신의 이름이 쓰여진 종이를 다른 사람과 서로 교환하여 1분간 상대방 얼굴을 그리도록 했습니다.

"솔직히 미안하신 분" 손 들어 보라고 하니 대부분 손을 들고 계십니다. 다들 본인들의 미술실력을 잘 알고 계시는 것 같습니다.ㅋㅋ 다음에는 미술 강의를 들은 후 그리자는 분도 계셨습니다^^

Ice Breaking이 끝난 후, 잠깐의 휴식시간과 함께 네트워크 세팅시간이 있었습니다. 언제나 그렇듯, 이번 행사도 네트워크가 말썽이었습니다.ㅜㅜ 불편하셨던 분들 모두 죄송합니다.

로드뷰 API 튜토리얼

다음 순서로는 Daum FT전략팀 박동욱님의 로드뷰 API 튜토리얼이 있었습니다.

Daum 지도API 자체를 처음 사용하시는 분들도 많아서, 지도API 사용법에 대해서 간단히 설명하고, 추가적으로 로드뷰에서 쓰이는 용어와 사용법에 대해서도 설명해 주셨습니다. 중간 중간에 Daum의 FT 개발자분들이 도와주시기도 했구요.^^

행사장내 인터넷 상태가 좋지 않아서 제 iPhone으로 테더링을 했는데, 이번달 데이터 요금 얼마나 나올지 ㅎㄷㄷ하네요;;

점심식사 및 작품 전시

점심은 원래 밖으로 나가서 먹을 예정이었으나, 일기예보를 보니 당일 비가 온다고 하고, 시간 조절 등 기타 여러가지 사정상 행사장 내에서 도시락을 먹게 되었습니다.

그리고 쉬는 시간이나 점심시간을 이용해서는 갤러리에 미리 올라왔던 전시작품들을 볼 수 있었습니다. 각 작품 포스터 옆에는 Daum코드를 통해 만든 QR코드도 함께 붙여서 스마트폰에서도 바로 작품으로 갈 수 있게 하였습니다.

블로그 API(OAuth기반) 튜토리얼

오후에는 30대라는게 믿기지 않을 만큼 절대동안이신 Daum 커뮤니티개발2팀 김종민님의 튜토리얼이 이어졌습니다.

네트워크 문제로 튜토리얼을 완료하지 못한 관계로 추후 이 블로그를 통해 해당 튜토리얼을 공개하기로 했습니다.

라이브코딩 및 퀴즈

튜토리얼이 종료된 후에는 라이브코딩 시간이 이어졌습니다. 원래 라이브코딩 시간에는 미리 각자 준비한 주제를 가지고 코딩하게 되는데, 특별히 주제를 준비해오지 못한 분들을 위해서 퀴즈 문제도 마련했습니다.

OAuth관련 퀴즈는 단답형 문제 3개가 출제되었고, 모두 강의를 열심히 들으셨는지 적극적으로 참여해 주셨습니다. 그리고 다음과 같은 분들이 정답을 맞춰주셨습니다.^^

지도API는 직접 주어진 조건에 맞게 코딩하는 문제가 출제되었는데, 1시간이 채 걸리지 않아서 거의 비슷한 시간에 두 분께서 문제를 다 풀어 주셨네요. 대단들 하세요~^^

그래서 원래는 가장 빠른 1명에게만 상이 돌아갈 예정이었으나, 두번째로 빨리 해결하신 분께도 상품권을 드렸습니다.^^

시상 및 행사종료

마지막으로 만든 작품들에 대한 발표가 있었습니다. 작품은 갤러리에 미리 올라왔던 4개의 작품과 당일날 올라온 4개의 작품으로 총 8개의 작품이 제출되었습니다.

(참고로 ShopTime의 발표자료는 너무 멋있어서 구경하다가 사진찍는 걸 깜빡했고, 손맛이 괜찮은 비행기 시뮬레이션은 너무 순식간에 발표가 끝나서 사진을 못 찍었습니다. ㅜㅜ)

여기에서 3위는 20표를 얻은 [Titoramio], 2위는 23표를 얻은 [백문불여일견 - M32], 그리고 1위는 [ShopTime]이 27표를 획득하여 iPad를 거머쥐었습니다!

ShopTime은 Daum 쇼핑API, Twitter OAuth 등의 오픈API를 사용하였고, Instant Messanger를 위한 표준 프로토콜인 XMPP를 사용해서 실시간 웹을 구현해냈습니다. 그리고 HTML5, CSS3로 구현함으로써 플래시를 지원하지 않는 iPad, iPhone 등에서도 즐길 수 있습니다.

작품 자체도 좋았지만 Prezi라는 툴을 사용한 멋진 발표자료가 인상깊었습니다. 아래는 ShopTime의 발표자료입니다.

부족한 점이 많은 행사였지만, 그래도 다들 적극적으로 참여해 주셔서 감사합니다. 제출된 작품들은 계속해서 발전해나갔으면 하는 바램입니다.

곧 꾸준히 발전하는 서비스에 대한 상인 EvP(Evolution Prize)도 진행될 예정이오니 지속적인 관심 부탁드립니다.^^

사진 모음

덧) 후기를 작성하여 이 글에 트랙백을 달아주시는 분 중 1명을 선정하여 3만원짜리 상품권을 드립니다!!^^

저작자 표시
신고
Posted by 타돌이

댓글을 달아 주세요

  1. Favicon of http://jeongzugo.com BlogIcon 이정주 2010.07.23 03:25 신고 Address Modify/Delete Reply

    와 다들 멋지네요.
    전 이 당시 열심히 제식훈련을 했다죠..ㅋㅋ아쉽네요.

드디어 OAuth기반의 Daum블로그API가 공개되었습니다^^!

OAuth기반 마련

사실 지난 3월 말 OAuth 인증시스템 기반은 이미 마련되었습니다. 그리고 4월에 Tistory와 Daum뮤직과의 인증 연동에 우선적으로 사용되었습니다.

Tistory + Daum 뮤직 연동

OAuth를 이용한 Tistory + Daum 뮤직 인증연동

외부용 오픈API의 적용이 다소 늦어진 것은 내부적인 시스템 구조, 정책 등에 대한 검토 및 변경 과정이 있었기 때문입니다.

OAuth기반 Daum블로그API

Daum에서는 기존의 Daum 자체 인증API + XML-RPC를 이용한 Daum블로그API를 제공하고 있었습니다.

하지만 이런 방법은 인증이 표준적이지도 않고, XML-RPC가 RESTful API에 비해 사용하기가 어렵다는 지적이 있었습니다.

따라서 범용적인 3rd Party 인증표준인 OAuth기반의 RESTful한 Daum블로그API를 마련하게 되었습니다.

OAuth의 기반의 Daum 블로그API는 다음과 같은 기능들을 제공합니다.

글 관련

  • 최근 포스트 목록
  • 새글 쓰기(Only Article)
  • 글 수정하기
  • 포스트 내용 가져오기(글 1개)

카테고리 관련

  • 카테고리 목록 가져오기

댓글 관련

  • 댓글 목록 가져오기
  • 댓글 작성하기

알리미 관련(rss)

  • 알리미 구독 리스트 최근 글 목록

일반 정보 관련

  • 블로그 정보 가져오기
  • 나에 대한 반응 목록 가져오기

추후에 더 많은 기능들을 제공하기 위해 기술적, 정책적 검토작업에 있습니다. 앞으로 계속해서 관심 부탁드립니다.

관련 링크

기존 Daum블로그API 기술지원 중단

그리고 기존 Daum블로그API 서비스 자체는 유지됩니다. 하지만 기술지원은 더 이상 없을 예정이므로, 앞으로는 Daum 블로그API 사용시 새로 오픈한 OAuth 기반 블로그API를 사용해주시기 바랍니다.

저작자 표시
신고
Posted by 타돌이
TAG API, Blog, Daum, oAuth

댓글을 달아 주세요

티스토리 툴바