본문 바로가기
반응형

프로그래밍 개발/Express16

Express - 페이스북 로그인 구현 페이스북 로그인 구현 회원정보를 보관하는 것은 회원입장에선 불편하고, 서비스 입장에선 부담되는 일입니다. 이런 문제를 해결하기 위해서 최근에는 페이스북이나 구글과 같은 기업들이 로그인 연동 기능을 제공한다. 이를 Federated Identity라고 하고 Passport.js를 이용하면 이를 쉽게 구현할 수 있다. npm install -s passport-facebook 위의 코드를 입력하여 페이스북 로그인 구현을 위한 모듈을 다운로드한다. var = FacebookStrategy = require('passport-facebook').Strategy; passport.use(new FacebookStrategy({ clientID: FACEBOOK_APP_ID, clientSecret: FACEBOO.. 2021. 1. 20.
Express - 비밀번호 암호화 비밀번호 암호화 아래와 같이 회원정보가 들어있는 파일에 비밀번호가 암호화 되어있지 않는다면 보안에 심각한 문제를 초래할 수 있다. 아래 링크 페이지에 자세한 사용설명이 존재한다. www.npmjs.com/package/bcrypt bcrypt A bcrypt library for NodeJS. www.npmjs.com npm install -s bcrypt 비밀번호를 암호화하는 프로그램 모듈이 따로 존재하기에 위의 명령어를 입력하여 프로그램을 다운받는다. syntax/bcrypt.js //따로 bcrypt 프로그램을 구동시킬 코드를 모아둔 파일 만듬. var bcrypt = require('bcrypt'); //bcrypt 모듈 연동 const saltRounds = 10; const myPlaintex.. 2021. 1. 19.
Express - 다중 사용자 구현(회원가입) 다중 사용자 구현(회원가입) 1. 회원가입 UI 구현 lib/auth.js module.exports = { isOwner: function(request, response){ if(request.user){ return true; } else{ return false; } }, statusUI: function(request, response){ //register UI 추가 var authStatusUI = 'login | Register' if(this.isOwner(request, response)){ authStatusUI = `${request.user.nickname} | logout`; } return authStatusUI; } } lib/template.js module.exports .. 2021. 1. 19.
Express - passport.js로 로그인 기능 적용하기 passport.js로 로그인 기능 적용하기 인증구현 app.post('/auth/login_process', //로그인 프로세스 경로로 설정 passport.authenticate('local', { successRedirect: '/', //로그인 완료 후 등장할 경로 설정 failureRedirect: '/auth/login' })); //로그인 실패 후 등장할 경로 설정 로그인 폼에서 전송한 데이터를 받는 쪽을 passport로 전환하기 위해서는 일단 위의 코드를 main.js에 붙여넣기 해야한다. 경로 또한 로그인을 할 수 있도록 하는 process 쪽으로 해줘야한다. 자격확인 main.js //로그인 정보를 main.js로 가져옴 var authData = { email: 'k0502s2nav.. 2021. 1. 18.
Express -passport.js 설치하기 passport.js 설치하기 passport.js는 트위터나 페이스북 등등을 외부 사이트에서 로그인하고 연동할 수 있는 기능이라고 할 수 있다. www.passportjs.org/packages/ 위의 사이트에 가면 passport.js의 설치 및 사용 설명서가 있다. $ npm install passport 일단 npm을 이용하여 passport 프로그램을 다운받는다. $ npm install passport-local 일단 passport.js 기능으로 로그인 할때 아이디와 패스워드를 사용할 것이므로 위의 명령어를 입력하여 프로그램 다운한다. 페이스북, 트위터 등 같이 다른 기능들을 사용하려면 다른 프로그램을 다운받아야 한다. var passport = require('passport') , Loc.. 2021. 1. 18.
Express - session을 이용한 로그인 인증 구현 session을 이용한 로그인 인증 구현 로그인 기능을 구현하여 올바른 값을 입력하여 로그인이 되면 생성 및 수정을 할 수 있는 권한을 주었고 또 로그인을 하면 설정해둔 닉네임이 웹 화면상에 등장하도록 하였다. 로그인을 하지 않았다면 생성 및 수정을 할 수 없도록 제한을 걸어두는 간단한 로그인 기능들을 구현하였다. main.js var express = require('express'); var app = express(); var fs = require('fs'); var bodyParser = require('body-parser'); var compression = require('compression'); var helmet = require('helmet') app.use(helmet()); v.. 2021. 1. 16.
Express - express-session의 기본 개념 express-session 쿠키로만 로그인 기능을 구현하면 보안상 매우 치명적인 결함이 존재한다. 로그인을 할 수 있는 정보인 쿠키값이 그대로 노출되기 때문이다. 이때 express의 미들웨어인 session을 이용하면 이러한 문제점을 보안할 수 있다. 아래 사이트에서 세션에 대한 사용방법과 예가 나와있다. http://expressjs.com/en/resources/middleware/session.html Express session middleware express-session Installation This is a Node.js module available through the npm registry. Installation is done using the npm install comman.. 2021. 1. 16.
Express - 쿠키를 이용한 인증 기능 구현하기 쿠키를 이용한 인증 기능 구현하기 main.js var http = require('http'); var fs = require('fs'); var url = require('url'); var qs = require('querystring'); var template = require('./lib/template.js'); var path = require('path'); var sanitizeHtml = require('sanitize-html'); var cookie = require('cookie'); //쿠키를 사용하기 위한 추가 //올바른 쿠키 데이터이 들어오면 isOwner가 false에서 true가 되도록 하는 함수 따로 만듬. function authIsOwner(request, resp.. 2021. 1. 15.
Express - 쿠키의 옵션 쿠키의 옵션 Session 쿠키 와 Permanent 쿠키 웹브라우저를 끄면 사라지는 휘발성 쿠키를 Session cookie라고 하고 웹브라우저를 꺼도 사라지지 않는 쿠키를 Permanent cookie라고 한다. var http = require('http'); var cookie = require('cookie'); http.createServer(function(request, response){ console.log(request.headers.cookie); var cookies = {}; if(request.headers.cookie !== undefined){ cookies = cookie.parse(request.headers.cookie); } console.log(cookies.yum.. 2021. 1. 15.
Express - 쿠키의 기본 개념 쿠키의 기본 개념 쿠키란 하이퍼 텍스트의 기록서의 일종으로서 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 그 사이트가 사용하고 있는 서버를 통해 인터넷 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일을 일컫는다. HTTP 쿠키, 웹 쿠키, 브라우저 쿠키라고도 한다. 이 기록 파일에 담긴 정보는 인터넷 사용자가 같은 웹사이트를 방문할 때마다 읽히고 수시로 새로운 정보로 바뀐다. 쿠키 생성 var http = require('http'); http.createServer(function(request, response){ response.writeHead(200, { 'Set-Cookie':['yummy_cookie=choco', 'tasty_cookie=strawberry'] }); response.en.. 2021. 1. 15.
Express - 라우터의 파일로 분리 정리 라우터의 파일로 분리 정리 관리하는 페이지가 많아짐에 따라서 코드의 복잡도가 급격히 높아지게 된다. 복잡도를 낮추는 방법이 라우터다. 주소체계변경 main.js var express = require('express') var app = express() var fs = require('fs'); var path = require('path'); var qs = require('querystring'); var bodyParser = require('body-parser'); var sanitizeHtml = require('sanitize-html'); var compression = require('compression') var template = require('./lib/template.js').. 2021. 1. 14.
Express - 에러처리 에러처리 app.use(function(req, res, next) { res.status(404).send('Sorry cant find that!'); }); app.use(function (err, req, res, next) { console.error(err.stack) res.status(500).send('Something broke!') }); 위의 코드들을 맨 아래에 적용하면 에러 발생시 설정한 값이 뜨도록 설정할 수 있다. main.js const express = require('express') const app = express() const port = 3000 var fs = require('fs'); var qs = require('querystring'); var templ.. 2021. 1. 14.
Express - 정적인 파일의 서비스 정적인 파일의 서비스 express에서 이미지, 자바스크립트, CSS와 같은 파일을 서비스하는 방법이 있다. app.use(express.static('public')); 위 코드를 추가시켜줘야 정적인 파일을 적용할 수 있다. main.js const express = require('express') const app = express() const port = 3000 var fs = require('fs'); var qs = require('querystring'); var template = require('./lib/template.js'); var path = require('path'); var sanitizeHtml = require('sanitize-html'); var bodyParse.. 2021. 1. 14.
Express - 미들웨어 미들웨어 미들웨어는 누군가 미리 만들어 놓은 코드를 부품을 쓰듯이 생산성을 높이기 위하여 쓸 수 있는 기능이라고 말할 수 있다. express 자체가 미들웨어로 구성되어있다고 해도 무방하다. 미들웨어 사용하기 body-praser라는 node.js 코드를 더 간결하고 간단하게 해주는 미들웨이로 예를 들어 보겠다. expressjs.com/en/resources/middleware/body-parser.html Express body-parser middleware body-parser Node.js body parsing middleware. Parse incoming request bodies in a middleware before your handlers, available under the req.. 2021. 1. 14.
Express - Express 홈페이지 구현 적용 Express 홈페이지 구현 적용 홈페이지 기본 구현 onst express = require('express') const app = express() const port = 3000 var fs = require('fs'); var template = require('./lib/template.js'); app.get('/', (request, response) => { fs.readdir('./data', function(error, filelist){ var title = 'Welcome'; var description = 'Hello, Node.js'; var list = template.list(filelist); var html = template.HTML(title, list, `${tit.. 2021. 1. 14.
Express - 기본 세팅 시작 기본 세팅 시작 npm install exppress --save 위 코드를 node.js가 실행된 상태에서 터미널에 명령하여 express 프로그램을 다운로드한다. expressjs.com/ko/starter/hello-world.html Express "Hello World" 예제 Hello world 예제 기본적으로 이 앱은 여러분이 작성할 수 있는 가장 간단한 Express 앱일 것입니다. 이 앱은 하나의 파일로 된 앱이며 Express 생성기를 통해 얻게 되는 앱과는 같지 않습니다. (이 예제 expressjs.com 위 사이트에 들어간다. express가 실행되는지 확인하는 간단한 코드가 주어진다. const express = require('express') const app = expres.. 2021. 1. 14.
반응형