【发布时间】:2018-04-16 11:31:09
【问题描述】:
在Notepad++ 中,我在解码 JWT 时遇到问题。当我尝试使用Plugins -> MIME Tools -> Base64 Decode 时:
eyJleHAiOjE0NDIzNjAwMzQsIm5iZiI6MTQ0MjM1NjQzNCwidmVyIjoiMS4wIiwiaXNzIjoiaHR0cHM6Ly9sb2dpbi5taWNyb3NvZnRvbmxpbmUuY29tLzc3NTUyN2ZmLTlhMzctNDMwNy04YjNkLWNjMzExZjU4ZDkyNS92Mi4wLyIsImFjciI6ImIyY18xX3NpZ25faW5fc3RvY2siLCJzdWIiOiJOb3Qgc3VwcG9ydGVkIGN1cnJlbnRseS4gVXNlIG9pZCBjbGFpbS4iLCJhdWQiOiI5MGMwZmU2My1iY2YyLTQ0ZDUtOGZiNy1iOGJiYzBiMjlkYzYiLCJpYXQiOjE0NDIzNTY0MzQsImF1dGhfdGltZSI6MTQ0MjM1NjQzNCwiaWRwIjoiZmFjZWJvb2suY29tIn0 P>
我明白了:
要解码的所选文本(不包括 EOL)的长度无效。 应该是mod 4。
但是如果使用www.base64decode.org 就可以了:
{"exp":1442360034,"nbf":1442356434,"ver":"1.0","iss":"https://login.microsoftonline.com/775527ff-9a37-4307-8b3d-cc311f58d925/v2.0/","acr":"b2c_1_sign_in_stock","sub":"目前不支持. 使用 oid 声明。","aud":"90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6","iat":1442356434,"auth_time":1442356434,"idp":"facebook.com"}
这是为什么呢?我是否错误地使用了 Notepad++?
我使用的值来自Azure AD B2C: Token reference。
2020/01/28 更新
我刚刚尝试了上面的 JWT,Plugins -> MIME Tools -> Base64 Decode 现在可以处理这个用例了????。我在插件的 v2.5 上。我猜v2.2 "fixed" this:
npp mime 工具 v2.2 发布
donho 于 2018 年 11 月 28 日发布此内容
增强base64:无填充解码/编码
【问题讨论】:
-
数据末尾的
=已被删除。只需添加一两个并重试。 -
@FlorentMorselli 就是这样!请提供答案,我会这样标记它
-
base64 -dLinux 上的命令可以成功解码 JWT 部分(从eyJ到下一个.),而无需添加=。如果最后缺少=,它只会显示错误消息base64: invalid input。
标签: notepad++ jwt azure-ad-b2c