wooseobsssss 2023. 11. 7. 20:09

세션은 쿠키와 다르게 서버안에서만 쿠키를 관리하기에 보안적으로 쿠키보다는 안전하고

 

그렇기에 본인이 누구인지 확실하게 구분하는 정보를 적어 줄 수 있다.

 

세션 api 만들기

 

/set-session 으로 api만들

 

let session = {};//세션을 비워서 본인을 인증할 수 있는 정보를 사용하는 알고리즘이다.
app.get('/set-session', function (req, res, next) {
  const name = 'sparta';
  const uniqueInt = Date.now();
  session[uniqueInt] = { name };

  res.cookie('sessionKey', uniqueInt);
  return res.status(200).end();
});

 

/get-session API 만들기

 

app.get('/get-session', function (req, res, next) {
  const { sessionKey } = req.cookies;
  const name = session[sessionKey];
  return res.status(200).json({ name });
});

 

 

api 전체 코드 예시

 

const express = require('express');
const cookieParser = require('cookie-parser');

const app = express();
app.use(cookieParser());

let session = {};
app.get('/set-session', function (req, res, next) {
  const name = 'sparta';
  const uniqueInt = Date.now();
  session[uniqueInt] = { name };

  res.cookie('sessionKey', uniqueInt);
  return res.status(200).end();
});

app.get('/get-session', function (req, res, next) {
  const { sessionKey } = req.cookies;
  const name = session[sessionKey];
  return res.status(200).json({ name });
});

app.listen(5002, () => {
  console.log("서버가 켜졌어요!");
});