PYTHON ヘルプ

PyJWT Python(その仕組み:開発者向けガイド)

イントロダクション

Pythonライブラリの中で PyJWTはPythonプロジェクトでJSON Webトークン(JWT)のエンコードとデコードを便利に行うための最も人気のあるPythonライブラリです。 JWTは、2つの当事者間で転送されるクレームを表現するためのコンパクトでURLセーフな手段です。 pyjwtパッケージは、PythonでのJSONウェブトークンの実装を容易にします。 JWTトークンは、Webアプリケーションでの認証および情報交換に広く使用されています。 このパッケージには、開発者をサポートするための充実したオンラインドキュメントがあります。 この記事では、後でPDFドキュメントを生成するために、IronSoftwareIronPDFも検討します。

主な機能

  1. JWT のエンコードとデコード: PyJWT は、JWT のエンコードおよびデコードを簡単に行うことができます。 ペイロードを秘密鍵とアルゴリズムでエンコードしてトークンを作成し、後でデコードしてペイロードを検証することができます。

  2. 複数アルゴリズムのサポート: PyJWTは、トークン署名のための様々なアルゴリズムをサポートしています。これにはHMAC (HS256, HS384, HS512) とRSA (RS256, RS384, RS512) が含まれます。 対称アルゴリズムと非対称アルゴリズムの両方をサポートしています。

  3. クレーム検証: ライブラリは、標準的なクレームである is(発行者)、sub(被験者)、aud(聴衆)、exp(有効期限)などの検証をサポートし、セキュアなトークンベースの認証を提供します。

インストール

PyJWT をインストールするには、pip を使用します:

pip install pyjwt
py
PYTHON

追加の暗号化サポートのために、cryptoオプションを使用してインストールすることができます。

pip install pyjwt[crypto]
py
PYTHON

基本的な使用法

こちらは、PyJWT の Python 実装を使用する簡単な例です:

import jwt
# Encoding a JWT
payload = {"Message": "IronPDF is Awesome PDF library"}
secret = "your-256-bit-secret"
token = jwt.encode(payload, secret, algorithm="HS256")
print(token)
# Decoding a JWT
decoded_payload = jwt.decode(token, secret, algorithms=["HS256"])
print(decoded_payload)
py
PYTHON

この例では、HS256アルゴリズムを使用して、秘密鍵でペイロードをエンコードすることにより、JWTを作成します。 次に、トークンをデコードして元のペイロードを取得します。

出力

PyJWT Python(仕組み:開発者向けガイド):図 1 - デコード後の例示的なレスポンスペイロード

ユースケース

  1. 認証: JWT はウェブアプリケーションでの認証によく使用されます。 ユーザーがログインすると、サーバーはJWTを生成し、署名されたトークンをクライアントに返します。 クライアントはこのトークンを使用してユーザーの身元を確認し、そのトークンを後続のリクエストに含めることができます。

  2. 情報交換: 当事者はJWTを使用して情報を安全に送信できます。 ペイロードには任意のデータを含めることができます。 トークンの署名により、その完全性が保証されます。

IronPDFの紹介

PyJWT Python(動作仕組み:開発者向けガイド):図2 - IronPDF for Python: The Python PDF Library

IronPDF は、HTML、CSS、画像、JavaScriptを使用してPDFを作成、編集、署名するための強力なPythonライブラリです。 最小限のメモリ使用で高品質なパフォーマンスを提供します。 ユーザーはHTMLからPDFを生成し、PDFドキュメントを結合したり、分割したり、PDFからテキストや画像を抽出し、ウォーターマークを適用し、JPEGやPNGのような画像形式にPDFをラスタライズし、PDFファイルを暗号化することができます。 IronPDFは幅広いPDF操作を提供します。

IronPDFの主な機能

HTMLをPDFに変換

ユーザーはHTMLファイル、HTML文字列、およびURLをPDFに変換することができます。 例えば、ウェブページをPDFとしてレンダリングするには、IronPDFのChrome PDFレンダラーを使用します。

クロスプラットフォームサポート

IronPDFはPython 3以上のバージョン用に設計されており、Windows、Mac、Linux、またはクラウドプラットフォーム上で動作します。

IronPDFは、.NETJavaPython、およびNode.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
py
PYTHON

次に、以下のコードを追加して、IronPDFおよびPyJWT Pythonパッケージの使用を示します。

import jwt
from ironpdf import * 
# Apply your license key
License.LicenseKey = "your key"
# Create a PDF from a HTML string using Python
content = "<h1>Awesome IronPDF with PyJWT</h1>"
content += "<h2> Encoding a JWT</h2>"
# Encoding a JWT
payload = {"Message": "IronPDF is Awesome PDF library"}
secret = "your-256-bit-secret" # private key
token = jwt.encode(payload, secret, algorithm="HS256")
print(token) # public key
content += "<p>Message:IronPDF is Awesome PDF library</p>"
content += "<p>secret:your-256-bit-secret</p>" 
content += "<p>Generated Token:"+str(token)+"</p>"
# Decoding a JWT
content += "<h2> Decoding a JWT</h2>"
decoded_payload = jwt.decode(token, secret, algorithms=["HS256"])
print(decoded_payload)
content += "<p>jwt.decode(token, secret, algorithms=[HS256]</p>"
content += "<p>Decoded Token:"+str(decoded_payload)+"</p>"
#Generate PDF using IronPDF
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf(content)
    # Export to a file or Stream
pdf.SaveAs("Demo-pyjwt.pdf")
py
PYTHON

コードの説明

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

以下は、各コードコンポーネントの機能の概要です:

  1. インポートとライセンスキーのセットアップ

    JSON Webトークン機能のために`jwt`ライブラリをインポートし、PDF生成のためにIronPDFから`ChromePdfRenderer`をインポートします。

    IronPDFの機能を有効にするライセンスキーを設定します。2. HTMLコンテンツの設定

    変数`content`をPDFドキュメントに含めるHTMLマークアップで初期化します。3. JWTのエンコーディング

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

    JWTデコードを示すためのHTMLマークアップを追加します。 `jwt.decode()`関数を使用して、以前に生成されたJWT(`token`)を、エンコードに使用されたのと同じ秘密鍵とアルゴリズムでデコードします。5. 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 * 
# Apply your license key
License.LicenseKey = "key"
py
PYTHON

結論

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

チャクニット・ビン
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeで作業しています。彼はC#と.NETに深い専門知識を持ち、ソフトウェアの改善と顧客サポートを支援しています。ユーザーとの対話から得た彼の洞察は、より良い製品、文書、および全体的な体験に貢献しています。
< 以前
Stellargraph Python(開発者向けの動作方法)
次へ >
HTTPX Python(動作の仕組み:開発者向けガイド)