Verwendung von PyJWT

PyJWT ist eine Python-Bibliothek zum Generieren und Parsen von JWT (JSON Web Token). JWT ist ein offener Standard zur sicheren Übertragung von Ansprüchen in Webanwendungen.

Inhaltsverzeichnis

1. Installieren Sie die PyJWT-Bibliothek

2. JWT generieren

3. Analysieren Sie das JWT

4. Überprüfen Sie das JWT

5. Benutzerdefinierte Erklärung

6. Andere Optionen


Das Folgende ist die detaillierte Verwendung der PyJWT-Bibliothek:

1. Installieren Sie die PyJWT-Bibliothek

    Installieren Sie die PyJWT-Bibliothek mit dem Befehl pip:

 pip installiere pyjwt

2. JWT generieren

   Um JWT mit der PyJWT-Bibliothek zu generieren, müssen Sie zuerst das JWT-Modul importieren:
   

   import jwt

   Verwenden Sie die Methode „jwt.encode“, um JWT zu generieren. Sie müssen ein Wörterbuch mit Ansprüchen (Claims) und einem Schlüssel (Geheimnis) übergeben:
   

   import datetime
   expiration_time = datetime.datetime.utcnow() + datetime.timedelta(hours=1)  # 添加过期时间

   payload = {'user_id': 123456, 'exp': expiration_time}
   secret = 'your_secret_key'
   token = jwt.encode(payload, secret, algorithm='HS256')

   Dadurch wird eine JWT-Zeichenfolge generiert.

3. Analysieren Sie das JWT

   Die Verwendung der PyJWT-Bibliothek zum Parsen von JWT erfordert auch den Import des JWT-Moduls:

   import jwt

   Verwenden Sie die Methode „jwt.decode“, um das JWT zu analysieren. Sie müssen die JWT-Zeichenfolge und den JWT-Schlüssel übergeben:
   

   token = 'your_jwt_token'
   secret = 'your_secret_key'
   payload = jwt.decode(token, secret, algorithms=['HS256'])

   Dadurch wird ein Wörterbuch zurückgegeben, das die Ansprüche enthält.

4. Überprüfen Sie das JWT


   Die Gültigkeit des JWT kann mit der Methode „jwt.decode“ überprüft werden. Wenn das JWT ungültig ist (z. B. abgelaufen, falsch signiert usw.), wird die entsprechende Ausnahme aus dem Modul „jwt.Exceptions“ ausgelöst.

   Beispiel:

   try:
       payload = jwt.decode(token, secret, algorithms=['HS256'])
       # 验证成功,可以使用payload中的声明
   except jwt.ExpiredSignatureError:
       # JWT已过期
   except jwt.InvalidTokenError:
       # JWT无效,例如,签名错误
5. Benutzerdefinierte Erklärung

   Beim Generieren von JWT können Sie benutzerdefinierte Ansprüche im Payload-Wörterbuch hinzufügen. Zum Beispiel:
   

payload = {'user_id': 123456, 'role': 'admin'}

   Beim Parsen des JWT kann der Wert des benutzerdefinierten Anspruchs durch Zugriff auf den Schlüssel im Payload-Wörterbuch ermittelt werden.

6. Andere Optionen

   Die PyJWT-Bibliothek bietet auch einige andere Optionen, z. B. die Unterstützung verschiedener Verschlüsselungsalgorithmen, das Festlegen der Ablaufzeit usw. Einzelheiten finden Sie in der offiziellen Dokumentation von PyJWT .

Dies ist die grundlegende Verwendungsmethode der PyJWT-Bibliothek, die entsprechend den tatsächlichen Anforderungen weiter konfiguriert und erweitert werden kann.

Guess you like

Origin blog.csdn.net/qq_37140721/article/details/131430236