https://s3-us-west-2.amazonaws.com/secure.notion-static.com/d792d49b-2460-4917-a371-189528f868e4/Untitled.png

세션에 대해서 다루기 위해서, session 과 관련된, express-session 을 require 해주고, session 을 use 해서 준비되어있는 상태에서 시작한다.

// require 준비
var session = require('express-session');

// session use
app.use(session({
  secret: '312321sadashkjdahd1321',
  resave: false,
  saveUninitialized: true
}));

user 객체로, displayName 을 추가한다.

(username은, 로그인할 때 사용하는 것이고, displayName 는, 로그인했을 때, user의 이름으로 보여준다.)

var user = {
    username:'Juni_K',
    password:'111',
    displayName:'JHK'
  };

로그인에 성공했다면(if구문에 대해서 true라면), sessiondisplayNameuser객체의 displayName 을 정의한다.

if(uname == user.username && pwd == user.password){
		//session 의 displayName 으로, user 객체의 displayName 으로 정의한다.
    req.session.displayName = user.displayName;
    res.redirect('/welcome');
  }else{
    res.send('Who are you? <a href="/auth/login">login</a>');
  }

그렇다면, 이제 로그인에 성공했을 때, 이동하는 /welcome 의 라우터를 작성한다.

('/welcome')

app.get('/welcome',function(req,res){
	if(req.sesssion.displayName){
	// req.session.displayName 이 있다면(로그인 성공), 
	res.send(`
		<h1>Hello, ${req.session.displayName}</h1>
		<a href="/auth/logout">logout</a>
	`);
	// req.session.displayName 이 없다면(로그인 실패),
	}else{
		res.send(`
		<h1>Welcome</h1>
		<a href="/auth/login">Login</a>
	`);
	}
});