Node

[Node] JWT Postman, Swagger에서 사용법

효진인데요 2023. 11. 6. 17:30

 

 

 

1. JWT 검증

 

개발한 기능들 중 토큰 검증을 통해 접근할 수 있는 기능들에는

앞서 개발한 미들웨어를 넣어줄 수 있다.

 

 

 

 

예를 들어, 이런 식으로 게시글을 작성하기 위한 페이지에 접근하기 위해 토큰 검증을 하려고 하는 경우,

middlewares/auth.js 폴더 안 토큰을 검증하는 로직인 checkToken을 불러와 authUtil이라는 이름으로 미들웨어로 넣어주었다.

 

 

 

 

로그인을 하면 토큰이 발급되게 해 두었고, 이 토큰을 포스트맨과 스웨거에서 사용하는 법을 정리해보려 한다.

 

 

 

 

 

2. Postman에서 토큰 활용

 

 

포스트맨을 열어 사용하려는 api를 작성한 뒤,

 

 

상단의 Auth 탭에 들어간다.

 

 

 

 

 

이런식으로 토큰의 타입을 선택할 수 있는데,

현재 토큰은 req.headers.authorization에 Bearer <token> 형식으로 들어가고 있기 때문에 Bearer Token을 선택해준다.

 

그런 다음 우측에 발급된 토큰 값을 넣고 실행하면 된다.

 

이때, 토큰 앞에 붙는 Bearer은 제외해야 한다.

그건 토큰이 아니라 토큰 앞에 붙는 타입을 명시해 주는 것이기 때문이다.

 

 

 

 

 

 

3. Swagger에서 토큰 활용

 

Swagger에서 처음에 토큰 검증을 하기 위한 코드가 제대로 작동하지 않아 애먹었던 1인...

( 도와주신 리더님 감사합니다 엉엉 😢 )

 

 

 

modules/swagger/swagger.js

 

처음에는 이런 식으로 securityDefinitions로 넣어보고 이런저런 문서들을 보고 따라 해봐도 실패했었다...

 

 

 

 

 

저 빨간 박스 안에 있는 버튼이 떠야 하는데 도저히 안 뜨는 것이다,,!!!

 

 

 

 

 

 

https://medium.com/@hksalaudeen/simple-implementation-of-jwt-authorisation-scheme-with-swagger-docs-a99b1839e05b

 

Simple Implementation of JWT Authorisation Scheme with Swagger Docs

Writing pieces of code to develop software is not a day’s job so is documenting the software after completion. If you have been writing API…

medium.com

 

 

이 문서를 보고 해결할 수 있었는데,

 

 

 

 

 

securityDefinitions로 넣는 것이 아니라

components 안에 securitySchemes를 넣고 저런 식으로 코드를 짜니 생겼다...!!!!

 

 

 

 

검증을 거쳐야 하는 각각의 api에 대해서는

 

 

 

스웨거 코드를 짤 때 박스 안의 저 두 줄을 추가해 주면,

앞의 스웨거 화면에서 봤던 (노란 박스 안) api 옆 자물쇠가 활성화된다. 

 

이렇게 설정을 통해 스웨거에서도 토큰 검증을 받고 api 테스트를 할 수 있다. 🙂

 

 

 

 

728x90