1. 인증
인증 작성하기
: 서비스내 직접 인증 기능 작성(Local Auth)
: 3자 인증 기능 사용(OAuth)
: OpenID - 인증만 제공해주는 서비스
로컬 인증
: 서비스 자체에서 사용자 가입
: 사용자 로그인 기능
: 사용자 정보 관리
: 필요한 점
: ID/PW가 서버와 클라이언트 메시지에 담겨서 이동
: 서버에 ID/PW 저장
: 사용자 정보 암호화
: 보안 통신 필요 : HTTPS
3자 인증
: 다른 서비스에 등록된 사용자의 인증 정보 사용
: 직접 가입/로그인 절차 없음
: ID/PW 노출 위험 적다
: 다른 서비스에서 토큰 발급
: 새로운 서비스
: 새로운 사용자라면, 인증하라고 요청
: 서비스키 제공- client_id, secret
: 가입된 서비스에 3자 인증 요청
: 가입된 서비스에 인증
: 인증 정보를 새로운 서비스에 전달
: 가입된 서비스에 인증 상황 문의
: 인증된 사용자 인지 문의
: 서비스 사용 가능
2. Passport
인증 모듈
: passport, everyauth
Passport 다루기 절차
1 : 모듈 로딩과 초기화
> var passport = require('passport');
> app.use(passport.initialize());
2 : Strategy 설정
> var Strategy = require('passport-strategy').Strategy;
> passport.use(new Strategy(function username, password, done){})
: 다양한 Strategy 제공
: Local Auth
: facebook, wirtter, google, kakao talk
3 : 인증
> app.port('login',passport,authenticate('local'))
: 인증 성공시
: 성공 메세지와 코드
: 성공 페이지 이동(웹)
: 인증 실패시
: 실패 메시지와 코드, 로그인페이지(웹)
4 : 세션 기록과 읽기
> passport.serializeUser(function(user, done){})
> passport.deserializeUser(function(id,done))
: 요청마다 세션 기록과 읽기
: passport.authenticate 이후 세션기록(serializeUser)
: 일반 요청마다 세션에서 읽기 (deserializeUser)
: 세션에서 읽어온 데이터
> req.user
5 : 사용자 정보
> req.user
3. LocalAuth
로컬 인증용 Strategy
설치
: npm install passport-strategy
'프로그래밍 > Nodejs' 카테고리의 다른 글
디버깅과 테스트와 프로세스 관리 (0) | 2017.04.28 |
---|---|
보안 (0) | 2017.04.28 |
인증 (0) | 2017.04.27 |
socket.io 를 이용한 실시간 웹서비스 (0) | 2017.04.27 |
소켓을 이용한 실시간 서비스 (0) | 2017.04.27 |