jsonwebtoken.MalformedJwtException: JWT strings must contain exactly 2 period characters. Found: 0
时间: 2024-02-06 17:05:39 浏览: 232
这个错误是由于JWT字符串格式不正确导致的。JWT字符串由三部分组成,每个部分之间用点号分隔。这个错误提示表明JWT字符串中没有找到两个点号,因此它不符合JWT字符串的格式要求。可能的原因是在创建JWT字符串时,某些部分被省略或格式不正确。要解决这个问题,需要检查JWT字符串的格式是否正确,并确保它包含三个部分,每个部分之间用点号分隔。
以下是一个创建JWT字符串的示例代码,其中包含三个部分:头部,载荷和签名。请注意,每个部分都是一个JSON对象,并且它们之间用点号分隔。
```swift
import JWT
let header = Header(alg: .hs256)
let payload = Payload(iss: "fuller.li", iat: Date())
let signer = JWTSigner.hs256(key: "secret".data(using: .utf8)!)
let jwt = JWT(header: header, payload: payload)
let data = try jwt.sign(using: signer)
let jwtString = String(data: data, encoding: .utf8)
print(jwtString)
```
相关问题
io.jsonwebtoken.MalformedJwtException: JWT strings must contain exactly 2 period characters. Found: 0
这个异常通常是由于 JWT 字符串格式不正确导致的。JWT 字符串由三部分组成,用点号分隔开来,分别是 header、payload 和 signature。在这个异常中,错误信息显示 JWT 字符串中没有找到两个点号,也就是说 JWT 字符串格式不符合规范。
可能的原因包括:
- JWT 字符串被篡改,删除了其中的点号。
- 生成 JWT 字符串的代码有误,没有正确地拼接三部分内容。
- JWT 字符串被截断了,只保留了一部分内容。
如果你能提供更多的上下文信息,比如代码片段或者完整的异常堆栈信息,我可以更准确地帮你定位问题。
JWT strings must contain exactly 2 period characters. Found: 0
This error message indicates that the input provided as a JWT string does not have the expected format. JWT strings consist of three parts separated by period characters: the header, the payload, and the signature. Each of these parts should be base64-encoded and separated by a period character.
If the input provided does not contain any period characters, it is not a valid JWT string. It is possible that the input has been truncated or modified in some way, or that it was never intended to be a JWT string.
To resolve this error, ensure that the input provided is a valid JWT string with all three parts separated by exactly two period characters. If necessary, regenerate the JWT string or obtain a new one from the appropriate source.
阅读全文