WebApp/Node.js-passport (5) 썸네일형 리스트형 Node.js-passport 리펙토링(1) 1. passport 코드 모듈화 (1) - lib디렉토리 아래 passport.js 파일을 생성 (2) - 기존 main.js에 있던 passport와 관련된 코드들을 ./lib/passport.js로 이주하고 함수화 (3) - main.js와 연동시키기위해 require('./lib/passport.js') 그리고 모듈파일인 passport.js를 함수로써 exports했기때문에 그 안의 코드를 불러오려면 함수를 호출해야한다 따라서 require('./lib/passport.js')(); 로 함수 호출 2. lib/passport.js 와 main.js연동(1) (1) - lib/passport.js 에서는 app이라는 변수를 사용하고 있는데 이는 main.js에 const app = express(.. Node.js -passport sessions에 passport가 저장되지도 않고 deserialize 도 안나오는 오류해결 npm install -save connect-loki 설치 session-store.db를 생성하고 그 안에 데이터 저장!! 이러면 오류 없음 기존 sessions-file-store 는 윈도우 10과 호환성에 오류가 있다고 함 Node.js-passport3 1. 로그인 이 후 다시 페이지를 리로드 해보면 main.js의 deserializeUser가 호출되면서 45번쨰 줄의 console.log 가 터미널에 나타나고 뒤이어 콜백함수인 done()이 실행되면서 두번째 인자로 주입한 authData 즉 저장된 사용자데이터가 request의 user라는 객체로 전달되게 되는 것이다. *우리가 passport를 사용하지 않으면 request객체는 user라는 객체를 가지고 있지 않는다 즉 우라가 passport를 사용하게 되면 passport가 우리가 사용할 수 있도록 request에 user라는 객체를 생성해주는 것이다 2. 그러면 우리는 user의 값을 기준으로 해서 사용자가 로그인 했는지 하지 않았는지를 체크할 수있다 기존에 만들었던 statuseUI와 관련.. Node.js-passport2 --저장된 사용자의 정보에 따라 로그인에 성공을 하면 위와 같이 passport.initialize() 라는 미들웨어가 사용되지 않았다는 에러가 나온다 1.app.use(passport.initialize()); 로 express에다가 passport라는 미들웨어를 설치하도록 한다 그러면 express가 호출될때마다 passport가 실행되고 passport는 session을 기반으로 실행되기 때문에 app.use(passport.session());으로 이를 사용 할 수 있도록 한다 3.로그인이 성공하면 passport가 내부적으로 우리에게 성공여부의 상태를 알아낼 수 있는 방법을 제공한다 로그인이 성공하면 홈으로 가도록 설정했기 때문에 홈에서 무슨일이 일어나는지 보자 console.log('/',re.. Node.js-passport 참조: www.passportjs.org/docs/ Documentation Overview Passport is authentication middleware for Node. It is designed to serve a singular purpose: authenticate requests. When writing modules, encapsulation is a virtue, so Passport delegates all other functionality to the application. This separation o www.passportjs.org 목표 : session으로 구현한 인증을 passport(user&pwd로그인 전략)로 재구현 해보자 1.passport 설치 npm inst.. 이전 1 다음