개발도구/Postman

postman에서 login token을 자동으로 header에 넣는 방법

노루아부지 2022. 10. 9. 00:36

RestAPI 등 backend를 개발하면서 postman이 거의 필수가 되어가고 있습니다.

postman이 워낙 엄청난 프로그램이기 때문에 postman의 활용도에 따라 개발 생산성에 큰 차이를 가져옵니다.

 

이번에는 postman의 수많은 기능 중 login token을 header에 자동으로 설정하는 방법을 알아보겠습니다.

 

1. 개요

예전에는 로그인 관리를 세션으로 했지만 최근에는 token으로 하는 추세입니다.

최초 Login API를 호출하면 token을 리턴하고, 그 이후부터 클라이언트는 모든 API를 호출할 때 header에 token을 넣어서 호출하는 것입니다.

다음과 같은 사용자 관리 API가 있다고 가정합니다.

 

원래대로라면 로그인 API를 호출 한 후 반환된 token을 복사해서 위 이미지의 모든 API의 header에 token 값을 수정해야 하는 불편함이 있습니다.

 

 

2. login token을 자동으로 header에 넣는 방법

  1. Login API의 response 데이터를 확인
    {
      "access": "access token",
      "refresh": "refresh token"
    }
  2. login API의 Tests탭으로 이동 후 다음과 같이 코드 작성
    아래 코드의 data.data.refresh를 상황에 맞게 변경하면 됩니다.
    var data = JSON.parse(responseBody);
    postman.setGlobalVariable("token", data.access);
  3. 적용할 API 선택 후 headers에 다음과 같이 setting
    setGlobalVariable에 setting한 key 값을 넣어줍니다.

 

3. 적용 결과

api 실행 후, 작동되는 test 스크립트를 통해포스트맨의 환경변수로 정의된 'token'값에 api의 응답 값이 바로 적용되게 됩니다. 즉, 토큰이 만료되었다 하더라도,  아래의 과정을 반복할 필요가 없어지게 됩니다.   
 

  1. 토큰 발행 API 호출
  2. access_token 발급
  3. 토큰 복사
  4. 테스트할 API가 있는 Collection의 환경변수 설정으로 이동
  5. 환경변수로 설정해 놓은 토큰변수의 값 ->  복사한 토큰 값으로 변경
  6. 환경변수 저장
  7. 테스트할 API 이동  테스트

 

3~6번의 과정이 불필요해졌기 때문에 토큰이 만료되었다면 1, 2번만 하면 나머지는 자동으로 되기 때문에 바로 모든 API에서 테스트가 가능해집니다.

728x90
loading