일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- semanage
- snmp test
- 정규식 문자열 출력
- telegraf
- linux시간으로 변경
- python subprocess
- c3 step graph
- 1697
- subporcess path
- 정규식 활용
- gcc 업데이트
- 백준
- c3 축 없애기
- python os
- python popen
- g++ 업데이트
- snmp
- centos pyhon 설치
- influxdb 설치
- grafana dashboard
- gcc regex
- InfluxDB
- c++ 정규식
- CentOS7
- c3 초
- regex_search
- 정규식 컴파일
- c3 축 가리기
- selinux port 등록
- c3 second
- Today
- Total
목록NodeJS/생활코딩 (48)
리셋 되지 말자
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..
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..
http, https http방식으로 통신한다면, 누군가가 통신 내용을 보고 있다고 간주해도 무방한다. app.use(session({ HttpOnly: true, secure: true, secret: 'sknfienf123', resave: false, saveUninitialized: true, store:new FileStore() })) session 미들웨어를 사용할 때, 위에처럼 secure 옵션을 true로 추가하면 https에서만 세션이 동작하도록 설정할 수 있다. 그리고 HttpOnly 옵션을 true 추가하면 세션 쿠키에 대한 자바스크립트의 동작을 방지할 수 있다.(document.session) 이외에도 자바스크립트코드 공격을 방지하기 위해 sanitizehtml 등을 추가로 사용할..
UI 만들기 로그인 버튼을 만든다. templage.js var template = { html: function (title, list, body, control) { return ` login WEB author ${list} ${control} ${body} `; }, list: function (topics) { var list = ''; topics.forEach((topic) => { list = list + `${topic.title}`; }); return list; }, author: function (authors, author_id) { var tag = ``; var selected = ''; authors.forEach(author => { if (author_id === auth..