본문 바로가기

프로젝트

passport-daum (node.js 용 daum oauth 로그인 모듈)

node.js 에서 oauth 를 사용한다면 oauth 모듈을  이용하던가,  passport 모듈을 이용해서 만들던가 할겁니다.

대부분의 oauth 로그인용은 twtiter과 Facebook 을 사용하지만 국산 로그인을 사용하면 어떻까 싶어서 찾아보니 me2day 는 outsider님이 구현 해놓으셨고, daum 모듈은 없더군요. outsider님의 글을 보고 한번 만들어 볼까 해서 만들어서 npm 까지 올리게 되었습니다. 


- 아래의 글부터는 oauth 의 로직과 사용법을 알고 있다는 가정하에 적었습니다.


먼저 npmjs.org 에서 간단하게 확인 가능합니다.

https://npmjs.org/package/passport-daum


간단한 예제는 https://github.com/uiandwe/passport-daum-example 에 올려놓았습니다.


git clone  https://github.com/uiandwe/passport-daum-example  로 받으신 다음에 package.json 파일에서의 oath.daum 값에서 DAUM_CONSUMER_KEY , DAUM_CONSUMER_SECRET, callbackURL 를 등록하신 값으로 변경하신 후 server.js 를 실행하시면 됩니다.


 

예제의 구성은 난하님의 블로그를 보시면 편하실 겁니다. 

twitter oauth 10분만에 만들기  http://nodeqa.com/nodejs_ref/82



현재 예제는 사용자 값만 가져오도록 되어 있습니다. 다른 값을 가져오기를 원하시면 passport-daum모듈의 lib/strategy.js 파일의 oauth.get 의 페이지를 변경하시고 사용하거나 따로 함수를 만들어서 사용하시면 됩니다.


- 실행시 ejs, express , passport 모듈이 필요합니다.

- c9.io 및 해외saas 에서 테스트 중 값을 불러오는 과정에서 "권한이 없습니다" 라고 뜬다면 다음 계정의 해외 아이피 접근 막기 부분을 해제하시면 됩니다. 

- 다음의 경우 로그인 아이디가 아닌 nickname 과 계정고유넘버만을 리턴해줍니다. 해당 예제는 nickname을 표기 하도록 하였습니다.