일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- snmp
- c3 초
- telegraf
- g++ 업데이트
- gcc 업데이트
- c3 축 가리기
- CentOS7
- c3 step graph
- regex_search
- selinux port 등록
- InfluxDB
- gcc regex
- influxdb 설치
- python os
- 정규식 활용
- 1697
- centos pyhon 설치
- subporcess path
- linux시간으로 변경
- 정규식 문자열 출력
- semanage
- 백준
- snmp test
- 정규식 컴파일
- c3 축 없애기
- c++ 정규식
- c3 second
- grafana dashboard
- python popen
- python subprocess
- Today
- Total
목록NodeJS (64)
리셋 되지 말자
어플리케이션에 적용 공식 페이지의 사용법과 같이 'failureFlash: true'를 추가한다. app.post('/auth/login_process', passport.authenticate('local', { failureRedirect: '/auth/login', failureFlash: true }), function(req, res){ req.session.save(function(){ console.log('session save...'); res.redirect('/'); }) }) 문제점 나는 session에 id값이 저장되지 않아서, successRedirect를 사용하지 않았다. 그리고 이 문제는 flash message가 session에 저장되지 않는 문제로 이어졌다. 즉, 로그인에..
1회성 메시지 기능 1회성으로 메시지를 보내는 모듈인 Connect-flash에 대해 알아본다. Passport와는 관계없지만, passport 공식문서에도 나와있다. connect-flash 설치 (github.com/jaredhanson/connect-flash)에서 설치 방법 및 사용방법을 알 수 있다. npm install --s connect-flash connect-falsh 선언 및 use const express = require('express') const app = express() const port = 80 var compression = require('compression') var bodyParser = require('body-parser'); var pageRouter =..
passport의 로그아웃 공식문서에 있는대로 수정하자. 그런데 수정하기 전과 후 모두 로그아웃이 정상적으로 동작했다. 수정 전 router.get('/logout', (req,res)=>{ req.session.destroy(function(err){ if(err) throw err; res.redirect('/'); }) }) 수정 후 router.get('/logout', (req,res)=>{ req.logOut(); req.session.save(function(err){ if(err) throw err; res.redirect('/'); }) })
request의 user 객체 index.js router.get('/', (req, res) => { console.log('main', req.user); db.query('SELECT * FROM topic', function (error, topics) { //console.log('/', req.user); if (error) throw error; var description = 'Hello, Node.js'; var title = 'Welcome'; var list = template.list(topics); var html = template.html(title, list, `${title} ${description} `, `create`, auth.statusUI(req, res)); r..
문제 인식 (github.com/jaredhanson/passport/issues/306) req.login 함수가 async 즉 비동기라는 것이다. 이를 이용하여 /auth/login_process를 수정한다. 문제 해결 deserializeUser 수정 passport.deserializeUser(function (id, done) { console.log('deserialize', id); const authData = { email:'rudwns273@naver.com', password:'12345', nickname:'rudwns' } done(null, authData); }); deserializeUser는 사용자가 로그인을 한 후에, 페이지에 접속할 때마다 실행되는 함수이다. authDa..
not in use const express = require('express') const app = express() const port = 80 var compression = require('compression') var bodyParser = require('body-parser'); var pageRouter = require('./routes/page'); var indexRouter = require('./routes/index'); var authorRouter = require('./routes/author'); var authRouter = require('./routes/auth'); var helmet = require('helmet') var session = require('..
Passport 미들웨어는 session을 이용하므로, 반드시 session 미들웨어를 use하고난 뒤에 use 하여아 한다. 사용 방법 두 가지 사용방법이 있다. 자격확인 app.post('/auth/login_process', passport.authenticate('local', { successRedirect: '/', failureRedirect: '/auth/login' } )); auth 라우터의 login_process를 주석처리한 뒤, main.js에 위의 코드를 추가한다. 성공하면 루트페이지, 실패하면 다시 로그인 페이지로 보내는 코드이다. 원래의 코드는 authData와 if문을 통해 로그인 여부를 결정했는데 그런 부분이 없다. (www.passportjs.org/docs/config..
(배우기 어려운데 사용하기에는 쉽다고 한다...) 설치 (www.passportjs.org/docs/oauth/) passport 공식사이트의 document 탭에서 설치방법을 확인 가능하다. npm install -s passport ID, 비밀번호로 로그인하기 위한, 전략 설치 (www.passportjs.org/docs/username-password/) npm install passport-local Passport 선언 main.js에 선언하도록 한다. var passport = require('passport') , LocalStrategy = require('passport-local').Strategy; 주의사항 passport는 session을 사용하기 때문에 반드시 app.use(ses..