본문 바로가기
반응형

전체 글340

[NodeJS] Passport - logout 처리 Passport - logout 처리 123456789101112var express = require("express")var app = express();var router = express.Router(); router.get('/', function(req, res){ req.logout(); res.redirect('/login');}); module.exports = router; Colored by Color Scriptercs 앞서 보았던 복잡한 로그인 기능에 비해 로그아웃은 상당히 쉽다로그인 버튼이 클릭 되면 위와 같은 페이지로 이동하도록 하고req.logout()으로 세션을 제거한다.세션을 잃은 후 다시 돌아갈 페이지로 redirect해주면 된다. 예제코드 2017. 4. 18.
[NodeJS] Passport - Ajax 기반의 인증 처리 Passport - Ajax 기반의 인증 처리 우선 login에 필요한 페이지를 새로 만든다.login/index.js와 views/login.ejs를 추가한다.코드 내용은 예제 링크를 참조한다. Ajax로 통신을 하므로 Json 형식으로 응답을 줘야한다.이때 사용되는 것이 passport의 custom callback이다. 123456789101112router.post('/', function(req, res, next){ passport.authenticate('local-login',function(err, user, info){ if(err) res.status(500).json(err); if(!user){return res.status(400).json(info.message);} req.l.. 2017. 4. 18.
[NodeJS] Passport 기반 세션처리 Passport 기반 세션처리 123456789passport.serializeUser(function(user, done){ console.log("passport session save :", user.id); done(null, user.id);}); passport.deserializeUser(function(id, done){ console.log("passport session get id :", id); done(null, id);});Colored by Color Scriptercs 세션을 저장하는 부분에 대한 처리이다.strategy의 콜백함수에서 done의 매개변수로 false를 주지 않고 객체를 전달했을 때그값을 serialize로 사용할수 있다. 이러한 값은 serialize 콜백 .. 2017. 4. 18.
[NodeJS] Passport - local/strategy 콜백완성 Passport - local/strategy 콜백완성 에러처리(아이디가 중복되는 상황) 123456789passport.use('local-join', new LocalStrategy({ usernameField : 'email', passwordField : 'password', passReqToCallback : true }, function(req, email, password, done){ // 콜백 함수 내용 완성 })); Colored by Color Scriptercs post 요청이들어오면 passport가 실행되며, passport내부 콜백 함수로 인증 절차가 진행된다.콜백 함수 내용 완성이라고 주석 처리 된 부분에 데이터값을 받아와서인증하는 루틴을 완성해보자 12345678910var.. 2017. 4. 18.
[NodeJS] Passport 기반 router 설정 passport 기반 router 설정 1234567router.post('/', passport.authenticate('local-join'){ { successRedirect: '/main', failureRedirect: '/join', failureFlash: true }}) Colored by Color Scriptercs 위의 소스를 passport 소스가 구현된 js파일에 넣어준다.'/' 루트로 post 요청을 보내게 되면authenticate라는 메소드를 이용하여 인증을 하게 된다.이때 인증에 성공하면 successRedirect의 루트로 이동하고실패하면 failureRedirect의 루트로 이동하게된다. 123456789passport.use('local-join', new LocalS.. 2017. 4. 18.
[NodeJS] Passport - middleware/strategy 설정 Passport - middleware/strategy 설정 모듈을 설치, 변수로 받아오는것을 마친 후 패스 포트를 사용하기 위해 해당 모듈들에 대한 설정 값들을 지정해 주어야한다.자세한 내용은 아래 공식 홈페이지를 참조하자.http://passportjs.org/ 123456789app.use(session({ secret : 'keyboard cat', resave : false, saveUnitialized : true})) app.use(passport.initialize()); app.use(passport.session());app.use(flash());Colored by Color Scriptercs 라우터에서 별도의 다른 설정이 필요하여 값이 변경될 우려가 있으므로세션에 대한 설정은 라우.. 2017. 4. 18.
[NodeJS] Passport 환경 구축 Passport 환경 구축 웹 서비스 환경에서 가장 많이 사용하는것이 사용자 인증이다. 인증이 없다면 매번 데이터베이스를 조회하고 권한을 확인하여불필요한 작업이 많아지고 서비스의 질을 낮추게 된다.이러한 인증은 여러가지가 있는데 그중에서 많이 사용되는 passport에 대해 알아보자 1npm install passport passport-local express-session connect-flash --save-dev cs passport는 인증 관련된 모듈을 처리한다passport-local은 페이스북이나 트위터와 같은 소셜로그인이 아닌 일반적인 로그인 처리(local db에 저장)등을 담당한다.express-session은 session관련 처리를 담당하며flash는 에러 메세지등을 리다이렉트하는 .. 2017. 4. 18.
[NodeJS] MySQL 연동 MySQL 연동 NodeJS가 서버(미들웨어)로써 큰 장점을 가지는것이 데이터 베이스와의 연동이다가장 범용적으로 사용되는 데이터베이스인 MySQL과 연동해보겠다. 12345use jsman;show tables;insert into `user` values ('ma@naver.com', 'mimi', 12); select * from user; Colored by Color Scriptercs 우선 jsman 데이터베이스와 user 테이블을 생성한다. 그 후 user테이블에 위와 같은 데이터를 삽입해 준다. 완료가 되면 위와 같은 모습의 테이블이 생성된다. node에서 mysql을 사용하기 위해서는 mysql 모듈이 필요하다따라서 npm으로 mysql 모듈을 설치한다. 123456789var mysql .. 2017. 4. 18.
[NodeJS] AJAX 처리 AJAX 처리 전체 페이지가 아닌 부분적인 영역에 대한 새로고침을 위해 AJAX가 사용된다.이 때문에 최신 웹페이지에는 AJAX에 대한 중요성이 점점 증가 하고 있다. AJAX에 대한 기능 구현을 예제로 살펴보도록 하자 1ajaxsend cs 먼저 앞서 만들어 두었던 form.html 파일에 button을 추가해준다. 12345document.querySelector('.ajaxsend').addEventListener("click",function(){ var inputdata = document.forms[0].elements[0].value; sendAjax('http://127.0.0.1:3000/ajax_send_email', inputdata); }) Colored by Color Script.. 2017. 4. 18.
반응형