PYTHON 幫助

PyJWT Python(它如何運作:開發者指南)

里根普恩
里根普恩
2025年2月26日
分享:

介紹

在 Python 庫中,PyJWT是最受歡迎的 Python 函式庫,提供方便的方法來編碼和解碼 JSON Web Tokens。(JWTs)在 Python 專案中。 JWT 是一種緊湊的、URL 安全的方式,用於表示在兩方之間傳輸的聲明。 pyjwt 套件簡化了在 Python 中的 JSON web token 實作。 JWT 令牌廣泛用於網路應用程式中的身份驗證和資訊交換。 該套件在線上提供豐富的文件以支持開發人員。 在本文中,我們還將探討IronPDFIronSoftware以便稍後生成 PDF 文件。

主要功能

  1. JWT 編碼與解碼:PyJWT 讓您能輕鬆地編碼和解碼 JWT。 您可以通過使用密鑰和算法對有效載荷進行編碼來創建令牌,然後稍後解碼以驗證有效載荷。

  2. 支援多種演算法:PyJWT 支援多種用於簽署權杖的演算法,包括 HMAC(HS256,HS384,HS512)和 RSA(RS256, RS384, RS512). 它支援對稱演算法和非對稱演算法。

  3. 宣告驗證: 該庫提供內建支援以驗證標準宣告,例如(發行者), 子(主旨), aud (觀眾),和 exp(到期時間)例如安全的基於令牌的身份驗證。

安裝

安裝PyJWT,您可以使用 pip:

pip install pyjwt
PYTHON

要獲得額外的加密支持,您可以使用 crypto 選項進行安裝:

pip install pyjwt[crypto]
PYTHON

基本用法

以下是一個簡單的使用範例PyJWTPython 實作:

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)
PYTHON

在此示例中,我們透過使用 HS256 算法和一個密鑰編碼負載來建立 JWT。 然後我們解碼該 token 以檢索原始負載。

輸出

PyJWT Python(運作原理:開發人員指南):圖 1 - 解碼後的示例響應有效載荷

使用案例

  1. 身份驗證:JWTs 通常用於網路應用程式的身份驗證。 用戶登錄後,伺服器會生成一個 JWT 並返回簽名的 token 給客戶端。 客戶可以使用此令牌驗證用戶身份,並在後續請求中包含該令牌。

  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。 例如,將網頁渲染為PDF使用 IronPDF 的 Chrome PDF 渲染器從 IronPDF。

跨平台支援

IronPDF設計用於Python 3+版本,並可在Windows、Mac、Linux或雲端平台上運行。

IronPDF 也有提供.NET, Java, Python,和Node.js.

編輯和簽署

用戶可以使用 IronPDF 設定屬性、透過密碼和權限增加安全性,並將數位簽名應用於 PDF。

頁面模板和設置

IronPDF允許您自訂PDF文件,配合頁首、頁尾,頁碼和可調整的邊距。 它還支援響應式版面配置和自定義紙張大小。

標準合規性

IronPDF 套件還遵循 PDF 標準,例如 PDF/A 和 PDF/UA。 支持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
PYTHON

然後添加以下代碼來演示IronPDF的使用PyJWTPython 套件

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")
PYTHON

程式碼說明

此代碼片段演示了如何使用 jwt(JSON 網頁令牌)與IronPDF一起使用該程式庫以建立一個包含JWT編碼和解碼範例的PDF文件。

以下是每個代碼組件功能的概述:

  1. 導入和許可證金鑰設置

    匯入 `jwt` 函式庫以實現 JSON Web Token 功能,並從 IronPDF 匯入 `ChromePdfRenderer` 用於 PDF 生成。

    設置IronPDF的許可證序號以啟用其功能。2. HTML內容設置

    初始化 `content` 變數,將要包含在 PDF 文件中的 HTML 標記。3. 編碼 JWT

    定義一個載荷字典,包含要編碼進入 JWT 的數據(有效負載). 指定一個密鑰(秘密)使用 HMAC 演算法搭配 SHA-256 來簽署 JWT(`HS256`). 使用 jwt.encode 生成一個 JWT 令牌()` function and prints it.4. 解碼 JWT

    添加 HTML 標記以示範 JWT 解碼。 解碼先前生成的JWT(令牌)使用 `jwt.decode()` 函數與用於編碼的相同密鑰和算法一起使用。5. PDF 生成

    它使用 ChromePdfRenderer 將 `content` HTML 字符串渲染成 PDF 文件,並將生成的 PDF 文件保存為 "Demo-pyjwt.pdf"。這種設置允許創建一個 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"
PYTHON

結論

PyJWT是一個強大且靈活的資料庫,用於在Python中處理JSON Web Tokens。 它易於使用且支持各種演算法,使其成為在網頁應用程式中實現基於令牌的驗證和安全資訊交換的熱門選擇。 另一方面,IronPDF 是一個多功能且功能豐富的 PDF 生成庫,可以以標準方式幫助記錄結果。 這兩個函式庫都可以為開發人員帶來奇蹟,提升他們的技能。

里根普恩
軟體工程師
Regan 畢業於雷丁大學,擁有電子工程學士學位。在加入 Iron Software 之前,他的工作角色讓他專注於單一任務;而他在 Iron Software 工作中最喜歡的是他所能承擔的工作範圍,無論是增加銷售價值、技術支持、產品開發或市場營銷。他喜歡了解開發人員如何使用 Iron Software 庫,並利用這些知識不斷改進文檔和開發產品。
下一個 >
HTTPX Python(運作原理:開發者指南)

準備開始了嗎? 版本: 2025.3 剛剛發布

查看許可證 >