Postman으로 JWT 인증 자동화 설정 방법
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

JWT 인증 자동화를 위한 Postman 프리리퀘스트 설정 방법

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

  • REST/GraphQL API 개발자 및 테스트 엔지니어
  • Postman을 사용하는 인증 프로세스 자동화 필요자
  • 중간 수준 이상의 API 테스트 경험자

핵심 요약

  • Bearer Token 자동화
  • pm.collectionVariables.set("bearerToken", ...)를 활용한 자동 인증 토큰 저장
  • GraphQL/REST 요청 자동화
  • pm.sendRequest로 로그인 요청 처리 및 토큰 추출
  • 에러 처리 강화
  • response.errorsresponse.data.userSignIn.error 검증으로 안정성 확보

섹션별 세부 요약

1. 변수 생성 및 설정

  • Postman 컬렉션의 Variables 섹션에서 bearerToken 변수 생성
  • pm.collectionVariables.set()을 통해 토큰 저장
  • 환경별 변수(pm.environment.set()) 사용 권장

2. GraphQL 인증 요청 설정

  • Query 구성

```graphql

mutation UserSignIn($email: String!, $password: String!) {

userSignIn(input: {email: $email, password: $password}) {

token

error {

field

message

}

}

}

```

  • JavaScript 스크립트

```javascript

pm.sendRequest({

url: 'https://api.example.com/auth',

method: 'POST',

header: {'Content-Type': 'application/json'},

body: {

mode: 'raw',

raw: JSON.stringify(graphqlMutation)

}

}, (err, res) => {

if (res.json().data.userSignIn.token) {

pm.collectionVariables.set("bearerToken", res.json().data.userSignIn.token);

}

});

```

3. REST 인증 요청 설정

  • Payload 구성

```json

{

"login": "seu_login",

"password": "sua_senha"

}

```

  • JavaScript 스크립트

```javascript

pm.sendRequest({

url: 'https://api.example.com/login',

method: 'POST',

header: {'Content-Type': 'application/json'},

body: {

mode: 'raw',

raw: JSON.stringify(payload)

}

}, (err, res) => {

pm.environment.set("bearerToken", res.json().access_token);

});

```

4. 디버깅 및 트러블슈팅

  • 콘솔 로그 확인
  • Ctrl+Alt+C로 Postman 개발자 도구 열기
  • console.error()로 에러 출력
  • 참고 자료
  • Postman 공식 문서, 커뮤니티 포스트, 개발자 프로필 링크

결론

  • 권장사항
  • pm.collectionVariables 대신 pm.environment.set() 사용 시 환경별 인증 관리 용이
  • try-catch 구문 추가로 예외 처리 강화
  • response.data 대신 res.json() 활용해 데이터 구조 안정성 확보
  • 자동화 스크립트는 테스트 환경에서 먼저 검증 후 사용 권장