フッターコンテンツにスキップ
PYTHONヘルプ

PyJWT Python (開発者向けのしくみ:ガイド)

Pythonライブラリの中で、PyJWTはPythonプロジェクトでJSON Webトークン(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
pip install pyjwt
SHELL

暗号化サポートを追加するには、cryptoオプションでインストールできます。

pip install pyjwt[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)
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 (その仕組み: 開発者向けガイド): 図1 - デコード後の例のレスポンスペイロード

使用例

1.認証: JWT は、Web アプリケーションでの認証によく使用されます。 ユーザーがログインした後、サーバーはJWTを生成し、署名されたトークンをクライアントに返します。 クライアントは、このトークンを使用してユーザーの身元を検証し、後続のリクエストにトークンを含めることができます。 2.情報交換:当事者は JWT を使用して情報を安全に送信できます。 ペイロードには任意のデータを含めることができます; トークンの署名はその整合性を保証します。

IronPDFの紹介

PyJWT Python (その仕組み: 開発者向けガイド): 図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は.NETJavaPythonNode.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: PythonパッケージインストーラーpipをインストールしてIronPDFパッケージをインストールします。

始めるには、プロジェクトのルートにPythonファイルを作成し、スクリプトを追加しましょう。この例では、コードエディターとしてVisual Studio Codeを使用します。

Visual Studio Codeを開き、ファイルを作成してください: pyjwtDemo.py

IronPDFライブラリをインストール:

pip install ironpdf
pip install pyjwt
pip install ironpdf
pip install 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")
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

コードの説明

このコードスニペットは、jwt (JSON Web Token)ライブラリとIronPDFを使用して、エンコードおよびデコードの例を含むPDFドキュメントを作成する方法を示しています。

以下は、各コードコンポーネントの機能の概要です: 1.インポートとライセンスキーの設定:

jwt ライブラリをJSON Web Token機能用に、ChromePdfRendererをIronPDFからPDF生成用にインポートします。 IronPDFの機能を有効にするためにライセンスキーを設定します。

  1. HTMLコンテンツの設定:

    プロセスの異なるステップを示すHTMLマークアップでPDFドキュメントに含めるため、content変数を初期化します。

  2. JWTのエンコード:

    • JWTにエンコードされるデータを含むペイロード辞書を定義します: payload
    • HMACアルゴリズムを使用してSHA-256でJWTに署名するための秘密鍵: secretを指定します: HS256
    • jwt.encode()関数を使用してJWTトークンを生成し、それを出力します。
  3. JWTのデコード:

    • JWTデコードを示すHTMLマークアップを追加します。
    • エンコードと同じ秘密とアルゴリズムを使用して、jwt.decode() 関数で以前に生成されたJWT: token をデコードします。
  4. PDF生成:

    • ChromePdfRenderer を使用して content HTML文字列をPDFドキュメントにレンダリングし、生成されたPDFファイルを"Demo-pyjwt.pdf"として保存します。

この設定により、IronPDFを使用してJWTを利用したプロフェッショナル品質のPDFを生成することができます。

出力

PyJWT Python (その仕組み: 開発者向けガイド): 図3 - 例のコンソール出力

PDF

PyJWT Python (その仕組み: 開発者向けガイド): 図4 - IronPDFを利用した例のPDF出力

IronPDFライセンス

PyJWT Python (その仕組み: 開発者向けガイド): 図5 - IronPDFライセンスページ

IronPDFは、その豊富な機能を購入前にチェックできるようにトライアルライセンスキーを提供しています。

スクリプトを使用する前にライセンスキーを配置しIronPDFパッケージを使用します。

from ironpdf import License

# Apply your license key
License.LicenseKey = "your-key"
from ironpdf import License

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

結論

PyJWTは、PythonでJSON Webトークンを扱うための強力で柔軟なライブラリです。 その使いやすさとさまざまなアルゴリズムのサポートにより、トークンベースの認証と安全な情報交換をウェブアプリケーションに実装するための人気のある選択肢となっています。 一方、IronPDFは多用途で機能豊富なPDF生成ライブラリで、標準的な方法で結果を文書化するのに役立ちます。 これらの両方のライブラリは、開発者がスキルセットを向上させるために素晴らしい成果を上げることができます。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me