我有一个 JWT 令牌,我正在尝试解码有效负载。我要解码的字符串是:
eyJzdWIiOiIyMzEzOTE6MTAxMjpFQiBBZG1pbixFQiBDaGVjayBJbi9PdXQgUmVzb3VyY2VzLEVCIE1hc3RlciBBZG1pbiIsImV4cCI6IjE1NDUyNTc2MDkiLCJhdWQiOiI0OTk0QzgxMC02QUMyLTQ3NkYtQjUyQi04MjQ5NUUzRUNBNTgifQ
如果我去https://www.base64decode.org/并插入该字符串,它可以解码为:
{"sub":"231391:1012:EB Admin,EB Check In/Out Resources,EB Master Admin","exp":"1545257466","aud":"4994C810-6AC2-476F-B52B-82495E3ECA58"}
但是有了这个:
byte[] dataPayload = Convert.FromBase64String(tokenPayload);
我得到:
Base-64 字符数组或字符串的长度无效
不知道我做错了什么。
编辑:
这是整个 JWT,由 JWT.IO 提供(我添加了换行符,以便于阅读)...
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9。eyJzdWIiOiIyMzEzOTE6MTAxMjpFQiBBZG1pbixFQiBDaGVjayBJbi9PdXQgUmVzb3VyY2VzLEVCIE1hc3RlciBBZG1pbiIsImV4cCI6IjE1NDUyNTc4ODMiLCJhdWQiOiI0OTk0QzgxMC02QUMyLTQ3NkYtQjUyQi04MjQ5NUUzRUNBNTgifQ. 0oaXmDOlYdHSTLo7t7fFpHG2T0DMRpAoERxiM_Ur5O4
同样的两行代码运行良好:
string tokenPayload = _jwtData.WebToken.Split('.')[1];
byte[] dataPayload = Convert.FromBase64String(tokenPayload);
但是由于某种我不明白的原因,现在我收到了这个错误。
郎朗坤
哔哔one
相关分类