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을 표기 하도록 하였습니다. 


WRITTEN BY
No.190
세계정복의 시작점

트랙백  0 , 댓글  1개가 달렸습니다.
  1. 김인수 2018.10.09 12:22
    안녕하세요 맨파워코리아 헤드헌팅 본부 김인수입니다.
    혹시 주변에 nodeJS 사용경력 5년이상이고 나이는 80년생이하신분 추천해 주실만한 사람은 없는지요?
    포지션은 백엔드개발(NodeJS)이며 블럭체인 최고 회사입니다.
    연봉은 1억~2억 가능하시고 연봉 및 처우조건은 아주 좋습니다.
    제메일 주소로 답변 부탁 드립니다. 감사합니다. (김인수, tedd.kim@manpower.co.kr)
secret