如何使用完全自定义的有效负载制作 JWT

Posted

技术标签:

【中文标题】如何使用完全自定义的有效负载制作 JWT【英文标题】:How to make a JWT with a fully custom payload 【发布时间】:2020-06-27 21:06:37 【问题描述】:

我必须创建一个 JWT 才能在 REST API 服务中发送它。 令牌的有效负载是在没有“标准”声明的情况下定义的。

这是给定的 php 示例:

$jwt = JWT::encode($payload, $privateKey, 'RS256');

其中 $payload 是带有有效负载的免费 json 字符串。

我尝试使用 Auth0 但

JWT.create()

没有完全自定义的方法来将字符串或对象设置为有效负载。 有什么方法可以不使用标准 JWT 声明并设置免费有效负载?

【问题讨论】:

你可以试试com.nimbusds.jwt library aka Nimbus JOSE + JWT...他们有一种方法可以使用字符串有效负载创建 JWT:connect2id.com/products/nimbus-jose-jwt 【参考方案1】:

您的问题是您在哪里使用 Auto0 库来创建 JWT 输入对象。如果这不可能,您将需要使用我建议使用 Framework spring 来解决您的问题的另一个库。看看这个链接。

https://spring.io/projects/spring-framework

【讨论】:

以上是关于如何使用完全自定义的有效负载制作 JWT的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JJWT 从有效负载中获取自定义字段

在MEAN堆栈应用程序中自定义JWT令牌的有效负载

使用 keycloak 将自定义键/值添加到 JWT 令牌有效负载或用户

额外的声明不会通过自定义 TokenEnhancer 添加到 JWT 有效负载

如何使用 passport-jwt 正确检查令牌有效负载?

python jwt中令牌过期时如何提取jwt令牌有效负载