JSON 포맷으로 사용자에 대한 속성을 저장하는 웹 토큰
특징
e.g. 토큰을 생성하고 생성한 토큰을 클라이언트에게 보내기
// server
const jwt = require("jsonwebtoken");
const userinfo = await Users.findOne({
where : {
userId : 클라이언트에서 보낸 아이디
password : 클라이언트에서 보낸 비밀번호
}
});
let payload = {
id : ...
}
let accesstoken = jwt.sign(payload,process.env.ACCESS_SECRET);
// jwt 객체의 sign을 사용해서 토큰을 생성(발급)
// jwt.sign(payload, secret or privateKey ,[options,callback])
res.status(200).send({token : {accesstoken : accesstoken}})
// 클라이언트에서 jwt 토큰을 가질 수 있게됨
// client
axios.post("server",{Id,Password},{withCredentials : true}).then((result) => {
// server에서 생성해서 보낸 accesstoken을 받아올 수 있다
})
ex) 클라이언트가 토큰으로 유저정보 받아오기
// client
// 가지고 온 토큰을 가지고서 유저정보를 받아온다
// 서버에 토큰을 보내고
axios.get("server",{headers : {Authorization : `Bearer ${token}`}}).then((result) => {
// 유저정보를 받아온다
})