'2012/06'에 해당되는 글 1건

  1. 2012.06.26 Node.js Passport npm을 통한 Google OAuth 2.0인증

Google Fusion Tables의 SQL API를 이용하려면 OAuth 2.0나 Client Login을 이용해야 한다.

나는 OAuth 2.0 인증을 통해 사용자 인증을 하기로 결정하였다. 서버 측은 Node.js 프레임워크를 이용하기로 결정하고 인증을 위해 NPM중 passport라는 Node.js용 인증 프레임워크를 선택하였다.

 

 

우선 "모던 웹을 위한 Node.js프로그래밍"이라는 책을 보고 기본적인 Node.js에 대한 이해와 Express 프레임워크, ejs, haml 같은 개념을 익혔다.

이후에 아래와 가은 명령어로 passport를 설치 해준다.

npm install passport
					

https://github.com/jaredhanson/passport 가면 passport 에 대한 설명을 볼 수 있다.

 

passport는 Strategies라는 형태로 각각의 서비스에 맞는 인증 방법을 제공한다. 또한 Google의 OAuth Strategy에 맞게 아래의 패키지도 설치해준다.

npm install passport-google-oauth

 

 

내가 하고자 하는 것은 passport를 통하여 Google 로그인을 OAuth 2.0의 방법으로 하고 자 하는 것이다.

이를 위해서 https://code.google.com/apis/console/에 가서 기본적인 등록을 맞추고

"Create an OAuth 2.0 client ID…"를 눌러 OAuth 2.0 클라이언트 아이디를 생성한다.

 

내가 만들 것은 Web application이기 때문에 이것을 선택하고, site이름에 알맞은 프로토콜과 url을 넣어주면 된다. 참고로 나와 같은 경우는 방화벽 때문인지 무언인지 모르겠지만 IP등록하려니 자꾸 오류가 떠서 그냥 127.0.0.1:3000로 적어서 테스트만 해보았다.

 

아래그림과 같이 Client ID와 Client secret 키를 얻는데 그 값을 node_modules\passport-google-oauth\examples\oauth2에 app.js 파일에 붙여 넣는다. 그리고 한가지를 세팅을 더 해 주어야 하는데 Redirect URIs가 oauth2callback으로 되어 있으므로 "Edit setting"에 가서 app.js에 있는 callbackURL의 주소와 맞춰 주어야 한다.

 

 

신고
Posted by 강부자아들


티스토리 툴바