티스토리 뷰
원래 좋아요 추가 API엔 jwt 를 제외하고 로직을 짰었다.
이번엔 jwt 구현까지 해보려한다.
우선, 가장 상단에 jwt 를 require 해주고, dotenv역시 같이 require 해준다.
그 이후, dotenv.config();를 적어준다.
그 다음, req가 Authorization으로 jwt를 보내줘야 한다.
let receivedJwt = req.headers["authorization"];
console.log("received jwt : ", receivedJwt);
req의 header에서 authorization 으로 꺼낸다.
꺼내면 jwt가 튀어나올 것이다. 이것을 receivedJwt 라는 변수에 담아줄 것이다.
console창으로 확인을 해보기 위해 console.log도 찍어줬다.
그 이후, jwt 모듈에게 방금 토큰 받아왔는데 그거 좀 풀어줘봐! 라고 해야한다.
let decodedJwt = jwt.verify(receivedJwt, process.env.PRIVATE_KEY);
console.log("decoded jwt : ", decodedJwt);
receivedJwt 처럼 console창으로 값을 확인해볼 것이다.
우선, 아무 유저로 로그인을 해보고 토큰을 받아서 그 토큰으로 해볼 예정이다.
로그인 했을 때, 받은 토큰을 복사해서 좋아요 추가 포스트맨으로 돌아간다.
Headers에 Authorization 과 토큰값을 넣어주고 Send를 눌렀더니,
receivedJwt의 값과, decodedJwt의 값이 잘 나오는 걸 볼 수 있다.
iat(발행시점)과 exp(유효시점)과 iss(발행한 사람) 잘 나온다.
이번엔, INSERT 까지 잘 되는 지 확인해보려고 한다.
id가 4인 유저로 로그인 후, 발급받은 토큰값을 좋아요 추가 시에 Authorization 으로 넣어주었다.
affectedRows 1 잘 뜨는 걸 볼 수 있고, 워크벤치 역시 데이터가 잘 들어간 걸 볼 수 있다.
'웹 개발 공부하기' 카테고리의 다른 글
[12.27] jwt expired?🤔 jwt error는 try catch로 잡자! (1) | 2024.12.27 |
---|---|
[12.20] 주문 조회 API + 오늘의 포스팅❗ (1) | 2024.12.20 |
[12.20] 결제(주문)하기 API 진짜 끝 진짜 진짜 끝!!🤣 (2) | 2024.12.20 |
[12.19] async&await으로 순서를 조종해보자📢 (0) | 2024.12.19 |
[12.19] 논 블로킹 I/O 때문에 순서가 바뀐다고?🤔 (3) | 2024.12.19 |