如何在python中根据需求生成JWT

Jay*_*tel 11 python jwt

我正在尝试生成 JWT 以在 API 集成中使用它。以下是生成 JWT 令牌的具体要求,但我没有遵循如何在 python 中执行此操作。

它显示了以下 Java 片段:

JWT.create()  
   .withIssuer("CLIENT_ID")
   .withExpiresAt(new Date(System.currentTimeMillis() + TimeUnit.MINUTES.toMillis(5)))
   .sign(Algorithm.HMAC256("CLIENT_SECRET"));
Run Code Online (Sandbox Code Playgroud)

因此,我正在尝试创建它...这里我在 python 中使用JWT lib,这是我的代码:

JWT.create()  
   .withIssuer("CLIENT_ID")
   .withExpiresAt(new Date(System.currentTimeMillis() + TimeUnit.MINUTES.toMillis(5)))
   .sign(Algorithm.HMAC256("CLIENT_SECRET"));
Run Code Online (Sandbox Code Playgroud)

但上面的代码给了我以下错误:

类型错误:键必须是实现 jwt.AbstractJWKBase 的类的实例

我不确定我写的代码是否符合要求,请帮助我。

小智 11

尝试使用pyjwt: PyJWT 而不是jwt

然后您可以执行以下操作:

encoded_jwt = jwt.encode({'some': 'payload'}, 'secret', algorithm='HS256')
Run Code Online (Sandbox Code Playgroud)

安装它:

pip install pyjwt
Run Code Online (Sandbox Code Playgroud)

并将其用作:

import jwt
Run Code Online (Sandbox Code Playgroud)