postman “令牌包含无效的段数”

5hcedyr0  于 2022-11-07  发布在  Postman
关注(0)|答案(1)|浏览(424)

当我尝试使用postman命中端点时,我看到此错误:

{
    "errors": [
        "token contains an invalid number of segments"
    ]
}

控制台:
TypeError:无法读取未定义的属性'jwt'

xqk2d5yq

xqk2d5yq1#

问题有点模糊,但在本例中-TypeError: Cannot read property 'jwt' of undefined
应该具有jwt属性的对象是未定义的,所以令牌本身并不存在,应该持有它的对象也不存在。
更一般地说,如果令牌格式不正确,则可能会发生此错误。
它应该有3个部分,像这样[由.分隔]-

eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ.dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk

这些段中的每一个都可以由base64解码,以检查headerpayloadsignature
结果就是-
来自-https://jwt.io/ x1c 0d1x
https://www.ibm.com/docs/en/cics-ts/6.1_beta?topic=cics-json-web-token-jwt提供的更多信息
表头
标头通常由两部分组成:标记的类型(即JWT)和使用的算法(如HMAC SHA 256或RSA SHA 256)。它是Base64 Url编码的,构成JWT的第一部分。
有效负载
有效负载包含声明。存在一组已注册的声明,例如:国际空间站(发行人),到期(到期时间),sub(主题)和aud(受众)。这些声明不是强制性的,但建议您提供一组有用的、可互操作的声明。有效负载还可以包括定义自定义声明的额外属性,如雇员角色。通常,主题声明用于创建OpenID Connect用户主题。但是,Liberty JVM服务器可以被配置为使用一个替代声明。有效负载是Base64 Url编码的以形成JWT的第二部分。
签字人
为了创建签名部分,使用头中的签名算法对编码的头和编码的负载进行签名。签名用于验证JWT的发布者是否是它所声称的那个人,并确保消息在传递过程中没有被更改。
更多关于规格的信息,请点击此处-
https://datatracker.ietf.org/doc/html/rfc7519#page-7

相关问题