解码 JWT(id_token) 的正确方法是什么?
What is the correct way to decode JWT(id_token)?
参考后JWT(id_token) decoding docs
我很困惑主要的服务提供商是否会采用相同的技术...
git projectgetUserEmailFromIdToken()
函数中的Microsoft oauth2.0客户端没有根据大小填充额外的=
符号,例如$extrapadds = $jwtTokenSize % 4;
和 Yahoo OAuth2.0 openid id_token docs 也没有在任何地方提及。甚至 基本字符串也不能将“-”和“_”替换为“+”和“/”
是因为这些服务提供商(微软和雅虎)没有遵守标准,还是他们以某种方式找到了避免这种情况的方法
请澄清一下...并尽可能分享代码以解释解码 JWT 的正确方法 id_token
要在 base64url 编码的令牌(这就是 JWT)上使用 base64 解码器,填充并不是真正需要的,只是规范推荐的;见 Why does base64 encoding require padding if the input length is not divisible by 3?
此外:解码器实现可能能够自行处理填充。
Yahoo 文档确实是错误的,因为 base64 编码不同于 base64url 编码,并且规范规定了 base64url:https://www.rfc-editor.org/rfc/rfc7519#section-3 Yahoo is not a really OPenID Connect provider (yet) so that may be why it wasn't fixed before Yahoo Oauth2/OpenIDconnect
参考后JWT(id_token) decoding docs
我很困惑主要的服务提供商是否会采用相同的技术...
git projectgetUserEmailFromIdToken()
函数中的Microsoft oauth2.0客户端没有根据大小填充额外的=
符号,例如$extrapadds = $jwtTokenSize % 4;
和 Yahoo OAuth2.0 openid id_token docs 也没有在任何地方提及。甚至 基本字符串也不能将“-”和“_”替换为“+”和“/”
是因为这些服务提供商(微软和雅虎)没有遵守标准,还是他们以某种方式找到了避免这种情况的方法
请澄清一下...并尽可能分享代码以解释解码 JWT 的正确方法 id_token
要在 base64url 编码的令牌(这就是 JWT)上使用 base64 解码器,填充并不是真正需要的,只是规范推荐的;见 Why does base64 encoding require padding if the input length is not divisible by 3?
此外:解码器实现可能能够自行处理填充。
Yahoo 文档确实是错误的,因为 base64 编码不同于 base64url 编码,并且规范规定了 base64url:https://www.rfc-editor.org/rfc/rfc7519#section-3 Yahoo is not a really OPenID Connect provider (yet) so that may be why it wasn't fixed before Yahoo Oauth2/OpenIDconnect