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을 표기 하도록 하였습니다.
'프로젝트' 카테고리의 다른 글
2. 코드명 : twitter-uiandwe (0) | 2013.03.15 |
---|---|
확장자 변조 취약점 (right to left override) (3) | 2013.02.06 |
코드명 : 브라우저 열기도 귀찮아. (0) | 2013.01.22 |