node.js 용 package 중 everyAuth 라고 상당히 많은 서비스 API를 지원하는 훌륭한 라이브러리가 있다. facebook, google, twitter 는 물론이고 github 에서 instagram 까지도 지원한다. 맨땅에 하기엔 사실 사용자 로그인/인증이라는 과정이 간단하지 않다. 설명을 쭉 읽어보니 그냥 커스텀 인증을 한다고 해도 구조가 잘 잡혀있어서 써야겠다고 결심. express 프로젝트를 만들었다. 일단 facebook 부터 시작해보기로 했다. 먼저 OAuth 인증을 하려면 facebook 으로부터 appId 와 appSecret 두개 한쌍을 페어로 받아와야한다. https://developers.facebook.com/apps 에서 "새 앱 만들기"를 한다음 App Name을 정해주자. Namespace랑 Web Hosting은 사용하지 않으므로 그대로 내버려둠. 그러고 난 뒤 보안 텍스트 확인하면 앱 > 앱이름 > Basic 으로 이동한다. 보면 앱이름과 App ID, App Secret, 아이콘을 확인할 수 있다. 아이콘은 적당히 수정하면 되고 "기본정보"와 "어떻게 앱을 Facebook과 통합시킬지 선택하세요" 두가지 설정 항목이 있음을 확인하고 "어떻게 앱을 Facebook과 통합시킬지 선택하세요" 에서 Website with Facebook Login 를 체크하면 사이트 URL 을 넣을 수 있다. 리디렉트 할 사이트 URL 을 넣고 변경 내용 저장. 일단 이걸로 facebook 준비는 끝났다. 별도의 facebook 앱 페이지를 만들거나 할 필요는 없다. server.js 에 대략 구현하기를 (coffeescript) everyauth = require 'everyauth' # mock User list user = {} # set up for everyAuth ...
Meteor evangelist, IoT, Renoise, Lua, Javascript, Coffeescript