Hello World...

jwt token 본문

node.js

jwt token

FaustK 2020. 7. 12. 21:51

 

app.js

const express = require('express');
const jwt = require('jsonwebtoken');
const cookieParser = require('cookie-parser');
const app = express();
const secretObj = require('./config');

app.use(cookieParser());

app.get('/', (req, res) => {
  res.send('hello~');
});

app.get('/jwt', (req, res) => {
  try {
    const token = jwt.sign(
      {
        email: 'user@example.com'
      },
      secretObj.secret,
      {
        expiresIn: '2h'
      }
    );

    res.cookie('user', token);
    res.json({ token });
  } catch (error) {
    console.log(error);
    res.send('다시 시작해주세요');
  }
});

app.get('/type', (req, res) => {
  console.log(req.cookies);

  try {
    const token = req.cookies.user;
    const decoded = jwt.verify(token, secretObj.secret);
    if (decoded) {
      res.send('type form 보여주기');
    } else {
      res.send('권한이 없습니다');
    }
  } catch (error) {
    console.log(error);
    res.send('권한이 없습니다');
  }
});

app.listen(5001, () => {
  console.log('port 5001 server running...');
});

 

 

config.js

const jwtObj = {};

jwtObj.secret = 'secretCode';

module.exports = jwtObj;

 

 

참고)

https://victorydntmd.tistory.com/116

 

[Node.js] JWT 기반으로 사용자 인증 구현하기 ( jsonwebtoken 모듈 )

2019. 06. 22 수정 1. JWT ( Json Web Token ) 많은 웹 서비스들은 사용자 인증을 구현하기 위해서 쿠키와 세션을 이용해왔습니다. 그런데 쿠키와 세션에는 여러 문제들이 있어서, 최근에는 OAuth와 JWT 같은

victorydntmd.tistory.com

 

Comments