Chapter 14-5 Postman으로 JWT 토큰 발급 및 인증 요청 실습

2025. 5. 21. 18:05·Django

📮 Postman으로 JWT 토큰 발급 및 인증 요청 실습


🎯 목표

  • 발급된 JWT 토큰을 Postman에서 직접 사용해 API 요청 테스트
  • Access / Refresh 토큰 활용법과 인증 흐름 완전 이해

🧪 Step 1: Postman 설치 및 기본 세팅

  1. Postman 설치 후 실행
  2. 왼쪽 상단 New → Collection 클릭
    • 이름: JWT 테스트
    • 설명 및 구조를 컬렉션 단위로 관리하면 테스트 시 편리함

🧾 Step 2: 토큰 발급 API 요청 구성

✅ POST /api/token/

  • URL: http://127.0.0.1:8000/api/token/
  • Method: POST
  • Body: raw 선택 → JSON 형식 입력
{
  "username": "생성한유저",
  "password": "비밀번호"
}
  • 주의: URL 마지막 슬래시 / 누락 금지

🔽 응답 예시

{
  "refresh": "eyJ...",
  "access": "eyJ..."
}

이제 JWT 토큰 2종류가 발급되었습니다! 🎉


✅ Step 3: Access Token으로 보호된 API 접근

보호된 API (예: 프로필, 게시물 조회 등)에 접근할 때는 access token을 사용합니다.

  1. 새 요청 생성
    • Method: GET / POST 등 실제 API에 따라 선택
    • URL: 예시) http://127.0.0.1:8000/api/profile/
  2. 상단 탭 Authorization 선택 → Bearer Token 선택
    • Token: 복사한 Access Token 입력
  3. Send 클릭 후 응답 결과 확인
    • 200 OK 응답 = 인증 성공
    • 401 Unauthorized = 토큰 만료 혹은 미인증

🔄 Step 4: Refresh Token으로 Access Token 재발급

✅ POST /api/token/refresh/

  • URL: http://127.0.0.1:8000/api/token/refresh/
  • Method: POST
  • Body:
{
  "refresh": "<복사한 Refresh Token>"
}

🔽 응답 예시

{
  "access": "새로 발급된 토큰"
}

👉 토큰 만료 시 프론트엔드에서 자동으로 이 과정을 호출하여 갱신할 수 있음


🧠 유저 인증 흐름 요약

단계 요청 API 사용 토큰 목적

로그인 /api/token/ X access + refresh 발급
인증 API 요청 보호된 URL Access Token 유저 확인
토큰 갱신 /api/token/refresh/ Refresh Token 새 Access 발급

💡 추가 팁: Postman 환경 변수 활용

  1. 토큰을 변수에 저장하고 여러 요청에 재활용 가능
  2. Tests 탭에서 응답 데이터를 변수에 저장하는 스크립트 작성 가능
let jsonData = pm.response.json();
pm.environment.set("accessToken", jsonData.access);
pm.environment.set("refreshToken", jsonData.refresh);
  1. 이후 요청에서는 Authorization 헤더에 {{accessToken}} 삽입

✅ 정리

  • Postman을 활용한 JWT 인증 실습으로 실제 백엔드 API 테스트 가능
  • 토큰을 어디에, 언제, 어떻게 사용해야 하는지 명확히 이해
  • 실무에서 자주 마주하는 인증 로직을 미리 체험할 수 있음

🔗 다음 스텝?

  • 인증이 필요한 다양한 API (ex. 댓글 등록, 사용자 정보 수정 등)에 적용
  • 만료된 토큰 처리 및 에러 대응 로직 설계까지 이어지면 실무 완성도 UP!

지금 바로 Postman 열고 실습해보세요! 🚀

'Django' 카테고리의 다른 글

Chapter 14-4 Django에서 Simple-JWT로 토큰 발급하기 완전 정복  (0) 2025.05.21
Chapter 14-3 PythonAnywhere를 사용한 Django 프로젝트 배포 가이드  (0) 2025.05.21
Chapter 14-2 SimpleJWT 완전 정복 가이드  (0) 2025.05.21
Chapter 14-1 drf-yasg 사용법 완전 정리  (0) 2025.05.21
Chapter 12-1 Django TDD(Test-Driven Development)란?  (0) 2025.05.19
'Django' 카테고리의 다른 글
  • Chapter 14-4 Django에서 Simple-JWT로 토큰 발급하기 완전 정복
  • Chapter 14-3 PythonAnywhere를 사용한 Django 프로젝트 배포 가이드
  • Chapter 14-2 SimpleJWT 완전 정복 가이드
  • Chapter 14-1 drf-yasg 사용법 완전 정리
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (787)
      • Python (32)
      • 프로젝트 (110)
      • 과제 (25)
      • Database (40)
      • 멘토링 (11)
      • 특강 (37)
      • 기술블로그 (41)
      • 기술블로그-Fastapi편 (33)
      • 기술블로그-Django편 (153)
      • 기술블로그-Flask편 (36)
      • AI 분석 (5)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (77)
      • Fastapi (16)
      • 연예 (14)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    remittance
    hotcoffeecase
    btsjungkook
    travel ban
    chatgpterror
    chinanightlife
    btsreunion
    bts
    livebroadcast
    urbantrends
    college reunions
    smartphonedurability
    newpoliticalparty
    classaction
    gpterror
    homebartrend
    titaniumcase
    RM
    americanlaw
    youngprofessionals
    btsdischarge
    btscomeback
    basalcellcarcinoma
    americaparty
    life reflection
    global politics
    self-growth
    lawsuitculture
    trumpmuskclash
    뷔
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
Chapter 14-5 Postman으로 JWT 토큰 발급 및 인증 요청 실습
상단으로

티스토리툴바