IRONSOFTWAREHOME
PYTHON 도움말

PyJWT Python (작동 방식: 개발자 가이드)

Curtis Chau
Curtis Chau
Updated: 2026년 6월 20일

Python 라이브러리 중에서 PyJWT는 Python 프로젝트에서 JSON 웹 토큰(JWT)을 편리하게 인코딩 및 디코딩할 수 있는 가장 인기 있는 Python 라이브러리입니다. JWT는 두 당사자 간에 전송될 클레임을 나타내는 간결하고 URL에 안전한 수단입니다. PyJWT 패키지는 Python에서 JSON 웹 토큰 구현을 간소화합니다. JWT 토큰은 웹 애플리케이션에서 인증 및 정보 교환에 널리 사용됩니다. 해당 패키지는 개발자를 지원하기 위해 온라인에 풍부한 문서를 제공합니다. 이 기사에서는 IronPDF를 사용하여 PDF 문서를 생성하는 방법을 Iron Software로부터 알아보겠습니다.

주요 특징

  1. JWT 인코딩 및 디코딩: PyJWT를 사용하면 JWT를 쉽게 인코딩하고 디코딩할 수 있습니다. 토큰을 생성하려면 페이로드를 비밀 키와 알고리즘으로 인코딩한 다음 나중에 디코딩하여 페이로드를 검증할 수 있습니다.
  2. 다양한 알고리즘 지원: PyJWT는 HMAC(HS256, HS384, HS512) 및 RSA(RS256, RS384, RS512)를 포함한 다양한 토큰 서명 알고리즘을 지원합니다. 이 프로그램은 대칭형 알고리즘과 비대칭형 알고리즘을 모두 지원합니다.
  3. 클레임 유효성 검사: 이 라이브러리는 iss(발급자), sub(주체), aud(대상), exp(만료 시간)와 같은 표준 클레임 유효성 검사를 위한 내장 지원 기능을 제공하여 안전한 토큰 기반 인증을 지원합니다.

설치

PyJWT를 설치하려면 pip를 사용할 수 있습니다.

pip install pyjwt
SHELL

암호화 기능을 추가로 지원하려면 crypto 옵션을 사용하여 설치하십시오.

pip install pyjwt[crypto]
SHELL

기본 사용법

다음은 Python 구현에서 PyJWT를 사용하는 간단한 예입니다.

import jwt

# Encoding a JWT
payload = {"Message": "IronPDF is an Awesome PDF library"}
secret = "your-256-bit-secret"
# Create the JWT token with a secret key using HS256 algorithm
token = jwt.encode(payload, secret, algorithm="HS256")
print(token)

# Decoding a JWT
# Decode the JWT token to retrieve the original payload
decoded_payload = jwt.decode(token, secret, algorithms=["HS256"])
print(decoded_payload)
Python

이 예제에서는 HS256 알고리즘을 사용하여 페이로드와 비밀 키를 인코딩함으로써 JWT를 생성합니다. 그런 다음 토큰을 디코딩하여 원래 페이로드를 복원합니다.

산출

PyJWT Python (작동 방식: 개발자를 위한 가이드): Figure 1 - 디코딩 후 응답 페이로드 예시

사용 사례

  1. 인증: JWT는 웹 애플리케이션에서 인증에 일반적으로 사용됩니다. 사용자가 로그인하면 서버는 JWT를 생성하고 서명된 토큰을 클라이언트로 반환합니다. 클라이언트는 이 토큰을 사용하여 사용자 신원을 확인할 수 있으며, 이후 요청에 토큰을 포함할 수 있습니다.
  2. 정보 교환: 당사자들은 JWT를 사용하여 안전하게 정보를 전송할 수 있습니다. 페이로드에는 어떤 데이터든 포함될 수 있습니다. 토큰의 서명은 토큰의 무결성을 보장합니다.

IronPDF 소개합니다

PyJWT Python (작동 방식: 개발자를 위한 가이드): Figure 2 - IronPDF for Python: Python PDF 라이브러리

IronPDF 는 HTML, CSS, 이미지 및 JavaScript 사용하여 PDF를 생성, 편집 및 서명할 수 있는 강력한 Python 라이브러리입니다. 이 제품은 최소한의 메모리를 사용하면서도 고품질의 성능을 제공합니다. 사용자는 HTML에서 PDF를 생성하고 , PDF 문서를 병합 또는 분할하고 , PDF에서 텍스트와 이미지를 추출하고 , 워터마크를 적용하고, PDF를 JPEG 및 PNG와 같은 이미지 형식으로 래스터화하고 , PDF 파일을 암호화하는 등 다양한 작업을 수행할 수 있습니다. IronPDF 다양한 PDF 작업 기능을 제공합니다.

IronPDF 의 주요 기능

HTML을 PDF로 변환

사용자는 HTML 파일, HTML 문자열 및 URL을 PDF로 변환할 수 있습니다. 예를 들어, IronPDF 의 Chrome PDF 렌더러를 사용하여 웹페이지를 PDF로 렌더링할 수 있습니다 .

크로스 플랫폼 지원

IronPDF 는 Python 3 이상 버전을 위해 설계되었으며 Windows, Mac, Linux 또는 클라우드 플랫폼에서 실행됩니다.

IronPDF 는 .NET , Java , PythonNode.js 버전으로도 제공됩니다.

편집 및 서명

사용자는 IronPDF 사용하여 속성을 설정하고, 암호 및 권한으로 보안을 추가하고, PDF에 디지털 서명을 적용할 수 있습니다.

페이지 템플릿 및 설정

IronPDF 사용하면 머리글, 바닥글, 페이지 번호 및 조정 가능한 여백을 사용하여 PDF 문서를 사용자 지정할 수 있습니다. 또한 반응형 레이아웃과 사용자 지정 용지 크기를 지원합니다.

표준 준수

IronPDF 패키지는 PDF/A 및 PDF/UA와 같은 PDF 표준을 준수합니다. 이 라이브러리는 UTF-8 문자 인코딩을 지원하며 이미지, CSS, 글꼴과 같은 자산을 처리합니다.

IronPDF 와 PyJWT를 사용하여 PDF 문서를 생성합니다.

IronPDF 필수 조건

  1. IronPDF 기반 기술로 .NET 6.0을 사용합니다. 그러므로 시스템에 .NET 6.0 런타임이 설치되어 있는지 확인하십시오.
  2. Python 3.0 이상: Python 버전 3 이상이 설치되어 있어야 합니다.
  3. Pip: IronPDF 패키지를 설치하려면 Python Install-Package 프로그램인 pip를 설치하세요.

먼저 프로젝트 루트에 스크립트를 추가할 Python 파일을 생성해 보겠습니다. 이 예제에서는 코드 편집기로 Visual Studio Code를 사용합니다.

Visual Studio Code를 열고 파일을 생성합니다, pyjwtDemo.py.

IronPDF 라이브러리를 설치하세요:

:ProductInstall pip install ironpdf pyjwt
SHELL

다음으로 아래 코드를 추가하여 IronPDF 및 PyJWT Python 패키지의 사용법을 보여주세요.

import jwt
from ironpdf import ChromePdfRenderer, License

# Apply your license key
License.LicenseKey = "your-license-key"

# Initialize HTML content to be converted into PDF
content = "<h1>Awesome IronPDF with PyJWT</h1>"
content += "<h2>Encoding a JWT</h2>"

# Encoding a JWT
payload = {"Message": "IronPDF is an Awesome PDF library"}
secret = "your-256-bit-secret"  # Secret key for signing
token = jwt.encode(payload, secret, algorithm="HS256")
print(token)  # Print the generated JWT

# Append details to the HTML content
content += f"<p>Message: {payload['Message']}</p>"
content += f"<p>Secret: {secret}</p>"
content += f"<p>Generated Token: {token}</p>"

# Decoding a JWT
content += "<h2>Decoding a JWT</h2>"
decoded_payload = jwt.decode(token, secret, algorithms=["HS256"])
print(decoded_payload)  # Print the decoded payload

# Append decoded payload details to the HTML content
content += f"<p>Decoded Token: {decoded_payload}</p>"

# Generate PDF using IronPDF
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf(content)

# Export PDF to a file
pdf.SaveAs("Demo-pyjwt.pdf")
Python

코드 설명

이 코드 스니펫은 JSON Web Token 라이브러리와 IronPDF를 함께 사용하여 JWT의 인코딩 및 디코딩 예제를 포함하는 PDF 문서를 만드는 방법을 보여줍니다.

다음은 각 코드 구성 요소의 기능에 대한 개요입니다.

  1. 가져오기 및 라이선스 키 설정:

    JSON Web Token 기능을 위한 jwt 라이브러리와 PDF 생성을 위한 IronPDF의 ChromePdfRenderer을(를) 가져옵니다. IronPDF 의 기능을 활성화하기 위한 라이선스 키를 설정합니다.

  2. HTML 콘텐츠 설정:

    프로세스의 다양한 단계를 설명하기 위해 PDF 문서에 포함될 HTML 마크업으로 content 변수를 초기화합니다.

  3. JWT 인코딩:

    • JWT로 인코딩할 데이터를 포함하는 페이로드 사전 (payload)을 정의합니다.
    • HMAC 알고리즘을 사용하여 SHA-256 (HS256)으로 서명할 비밀 키 (secret)를 지정합니다.
    • jwt.encode() 함수를 사용하여 JWT 토큰을 생성하고 이를 출력합니다.
  4. JWT 디코딩:

    • JWT 디코딩을 보여주는 HTML 마크업을 추가합니다.
    • 이전에 생성된 JWT (token)을 동일한 비밀과 인코딩에 사용된 알고리즘으로 jwt.decode() 함수를 사용해 디코딩합니다.
  5. PDF 생성:

    • ChromePdfRenderer을 사용하여 content HTML 문자열을 PDF 문서로 렌더링한 후 생성된 PDF 파일을 "Demo-pyjwt.pdf"로 저장합니다.

이 설정을 통해 IronPDF 에서 JWT를 사용하여 전문가 수준의 PDF를 생성하는 방법을 보여주는 PDF 문서를 만들 수 있습니다.

산출

PyJWT Python (작동 방식: 개발자를 위한 가이드): Figure 3 - 예제 콘솔 출력

PDF

PyJWT Python (작동 방식: 개발자를 위한 가이드): Figure 4 - IronPDF를 사용한 예제 PDF 출력

IronPDF 라이선스

PyJWT Python (작동 방식: 개발자를 위한 가이드): Figure 5 - IronPDF 라이선싱 페이지

IronPDF 사용자가 구매 전에 다양한 기능을 확인해 볼 수 있도록 평가판 라이선스 키를 제공합니다.

IronPDF 패키지를 사용하기 전에 스크립트 시작 부분에 라이선스 키를 배치하십시오.

from ironpdf import License

# Apply your license key
License.LicenseKey = "your-key"
Python

결론

PyJWT는 Python에서 JSON 웹 토큰을 다루기 위한 강력하고 유연한 라이브러리입니다. 사용이 간편하고 다양한 알고리즘을 지원하기 때문에 웹 애플리케이션에서 토큰 기반 인증 및 안전한 정보 교환을 구현하는 데 널리 사용됩니다. 반면에 IronPDF 는 다양한 기능을 갖춘 PDF 생성 라이브러리로, 결과물을 표준적인 방식으로 문서화하는 데 도움이 됩니다. 이 두 라이브러리는 개발자들이 기술을 향상시키는 데 큰 도움이 될 수 있습니다.

Curtis Chau
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

...
더 읽어보기

관련 기사

Key in blue circle

무료 30일 체험 키를 즉시 받으세요.

Your trial license will be sent to your email address

제한 없음. 100% 무제한 이용. 신용카드 불필요.

bullet_checked신용카드나 계정 생성은 필요하지 않습니다.제한 없음. 100% 무제한 이용. 신용카드 불필요.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
무료 라이브 데모를 예약하세요
Booking Badge

전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.

Iron Software의 고객 로고
부담 없는 무료 상담을 받아보세요
아래 양식을 작성하시거나 sales@ironsoftware.com으로 이메일을 보내주세요.
고객님의 정보는 항상 비밀로 유지됩니다.
전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.
Iron Software의 고객 로고
지금 바로 30일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.