AIDE PYTHON

PyJWT Python (Comment cela fonctionne : Un guide pour les développeurs)

Kannaopat Udonpant
Kannapat Udonpant
février 26, 2025
Partager:

Introduction

Parmi les bibliothèques Python,PyJWTest la bibliothèque Python la plus populaire qui offre un moyen pratique d'encoder et de décoder les JSON Web Tokens(JWTs)dans les projets Python. Les JWT sont un moyen compact et sûr pour les URL de représenter des déclarations à transférer entre deux parties. Le package pyjwt facilite l'implémentation des JSON web tokens en Python. Les jetons JWT sont largement utilisés pour l'authentification et l'échange d'informations dans les applications web. Le package dispose de documents en ligne riches pour soutenir les développeurs. Dans cet article, nous examinerons égalementIronPDF deIronSoftwarepour générer des documents PDF plus tard.

Caractéristiques principales

  1. Encodage et décodage JWT : PyJWT vous permet d'encoder et de décoder facilement des JWT. Vous pouvez créer un jeton en encodant une charge utile avec une clé secrète et un algorithme, puis le décoder plus tard pour vérifier la charge utile.

  2. Prise en charge de plusieurs algorithmes : PyJWT prend en charge divers algorithmes pour signer des jetons, y compris HMAC(HS256, HS384, HS512)et RSA(RS256, RS384, RS512). Il prend en charge à la fois les algorithmes symétriques et les algorithmes asymétriques.

  3. Validation des demandes : La bibliothèque propose une prise en charge intégrée pour valider les revendications standard telles que est(émetteur), sous(sujet), aud(audience), et exp (temps d'expiration), tel que l'authentification sécurisée basée sur des jetons.

Installation

Pour installerPyJWT, vous pouvez utiliser pip :

pip install pyjwt
PYTHON

Pour un support cryptographique supplémentaire, vous pouvez l'installer avec l'option crypto :

pip install pyjwt[crypto]
PYTHON

Utilisation de base

Voici un exemple simple de la manière d'utiliserPyJWTimplémentation 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)
PYTHON

Dans cet exemple, nous créons un JWT en encodant une charge utile avec une clé secrète en utilisant l'algorithme HS256. Nous décodons ensuite le jeton pour récupérer la charge utile originale.

Sortie

PyJWT Python(Comment ça fonctionne : Un guide pour les développeurs) : Figure 1 - Exemple de charge utile de réponse après décodage

Cas d'utilisation

  1. Authentification : Les JWT sont couramment utilisés pour l'authentification dans les applications web. Après qu'un utilisateur se connecte, le serveur génère un JWT et renvoie le jeton signé au client. Le client peut vérifier l'identité de l'utilisateur en utilisant ce jeton et inclure le jeton dans les requêtes ultérieures.

  2. Échange d'informations : Les parties peuvent transmettre des informations en toute sécurité en utilisant des JWT. La charge utile peut inclure n'importe quelle donnée ; la signature du jeton garantit son intégrité.

Présentation d'IronPDF

PyJWT Python(Comment cela fonctionne : Un guide pour les développeurs) : Figure 2 - IronPDF for Python : La bibliothèque PDF Python

IronPDFest une puissante bibliothèque Python pour créer, modifier et signer des PDF à l'aide de HTML, CSS, images et JavaScript. Il offre des performances de haute qualité tout en utilisant une mémoire minimale. Les utilisateurs peuventgénérer des PDF à partir de HTML, fusionner oudiviser Documents PDF,extraire du texte et des images des PDF, poser sa candidaturefiligranes, rasteriser un PDF en image comme JPEG et PNG,crypter les fichiers PDFet bien d'autres choses encore. IronPDF offre une large gamme d'opérations PDF.

Principales caractéristiques d'IronPDF

Conversion de HTML en PDF

Les utilisateurs peuvent convertir des fichiers HTML, des chaînes HTML et des URL en PDFs. Par exemple,rendre une page web sous forme de PDFen utilisant le moteur de rendu PDF Chrome d'IronPDF de IronPDF.

Support multiplateforme

IronPDF est conçu pour les versions Python 3+ et fonctionne sur Windows, Mac, Linux ou les plateformes cloud.

IronPDF est également disponible en.NET, Java, PythonetNode.js.

Édition et signature

L'utilisateur peut définir des propriétés, ajouter de la sécurité avec des mots de passe et des autorisations, et appliquer des signatures numériques aux PDF en utilisant IronPDF.

Modèles de page et paramètres

IronPDF vous permet de personnaliser des documents PDF avecles en-têtes, les pieds de page, numéros de page et marges ajustables. Il prend également en charge les mises en page réactives et les formats de papier personnalisés.

Respect des normes

Le package IronPDF respecte également les normes PDF telles que PDF/A et PDF/UA. Il prend en chargeCodage des caractères UTF-8 et gère les actifs tels que les images, les CSS et les polices.

Générez des documents PDF à l'aide de IronPDF et PyJWT

Conditions préalables pour IronPDF

  1. IronPDF utilise .NET 6.0 comme technologie sous-jacente. Veillez donc à ce que.NET 6.0 runtime est installé sur votre système.

  2. Python 3.0+ : Vous devez avoir installé la version 3 de Python ou une version ultérieure.

  3. Pip : Installer le gestionnaire de paquets Pythontuyau pour installer le paquet IronPDF.

    Pour commencer, créons un fichier Python à la racine du projet pour ajouter nos scripts. Pour cet exemple, nous utilisonsCode Visual Studio comme éditeur de code.

    Ouvrez Visual Studio Code et créez un fichier, pyjwtDemo.py.

    Installer la bibliothèque IronPDF :

pip install ironpdf
pip install pyjwt
PYTHON

Ajoutez ensuite le code ci-dessous pour démontrer l'utilisation de IronPDF etPyJWTpackages 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")
PYTHON

Explication du code

Ce fragment de code montre comment utiliser le `jwt`(Jeton Web JSON)bibliothèque avec IronPDF pour créer un document PDF comprenant des exemples de codage et de décodage de JWT.

Voici un aperçu des fonctions de chaque composant de code :

  1. Importations et Configuration de la Clé de Licence :

    Importe la bibliothèque `jwt` pour la fonctionnalité JSON Web Token et `ChromePdfRenderer` de IronPDF pour la génération de PDF.

    Définit la clé de licence pour IronPDF afin d'activer ses fonctionnalités. 2. Configuration du contenu HTML :

    Initialise la variable `content` avec un balisage HTML à inclure dans le document PDF.3. Encodage d'un JWT :

    Définit un dictionnaire de charge utile contenant les données à encoder dans le JWT(`chargement`). Spécifie une clé secrète(secret)pour signer le JWT avec l'algorithme HMAC en utilisant SHA-256(`HS256`). Génère un jeton JWT en utilisant `jwt.encode()\ fonction et l'imprime.4. Décoder un JWT :

    Ajoute du balisage HTML pour démontrer le décodage JWT. Décode le JWT précédemment généré(jeton)en utilisant jwt.decode()` fonction avec le même secret et algorithme utilisé pour le codage.5. Génération de PDF :

    Il utilise ChromePdfRenderer pour rendre la chaîne HTML `content` en un document PDF et enregistre le fichier PDF généré sous le nom "Demo-pyjwt.pdf." Cette configuration permet la création d'un document PDF qui illustre l'utilisation des JWTs avec IronPDF pour générer des PDF de qualité professionnelle.

Sortie

PyJWT Python(Comment ça fonctionne : Un guide pour développeurs) : Figure 3 - Exemple de sortie de console

PDF (EN ANGLAIS)

PyJWT Python(Comment ça fonctionne : Un guide pour les développeurs) : Figure 4 - Exemple de sortie PDF utilisant IronPDF

Licence d'IronPDF

PyJWT Python(Comment ça fonctionne : un guide pour les développeurs) : Figure 5 - Page de licensing IronPDF

IronPDFclé de licence pour permettre aux utilisateurs d'essayer ses fonctionnalités étendues avant d'acheter.

Placez la clé de licence au début du script avant de l'utiliserPaquet IronPDF:

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

Conclusion

PyJWT est une bibliothèque puissante et flexible pour travailler avec les JSON Web Tokens en Python. Sa facilité d'utilisation et sa prise en charge de divers algorithmes en font un choix populaire pour mettre en œuvre l'authentification par jeton et l'échange d'informations sécurisées dans les applications web. D'autre part, IronPDF est une bibliothèque de génération de PDF polyvalente et riche en fonctionnalités qui aidera à documenter les résultats de manière standard. Ces deux bibliothèques peuvent permettre aux développeurs d'améliorer leurs compétences.

Kannaopat Udonpant
Ingénieur logiciel
Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Tout en poursuivant ses études, Kannapat est également devenu membre du Vehicle Robotics Laboratory, qui fait partie du Department of Bioproduction Engineering (département d'ingénierie de la bioproduction). En 2022, il a mis à profit ses compétences en C# pour rejoindre l'équipe d'ingénieurs d'Iron Software, où il se concentre sur IronPDF. Kannapat apprécie son travail car il apprend directement auprès du développeur qui écrit la majeure partie du code utilisé dans IronPDF. Outre l'apprentissage par les pairs, Kannapat apprécie l'aspect social du travail chez Iron Software. Lorsqu'il n'écrit pas de code ou de documentation, Kannapat peut généralement être trouvé en train de jouer sur sa PS5 ou de revoir The Last of Us.
SUIVANT >
HTTPX Python (Comment cela fonctionne : Un guide pour les développeurs)