在引用JWT(id_token) decoding docs
之后我很困惑主要服务提供商是否会采用相同的技术......
git project getUserEmailFromIdToken()
函数中的Microsoft oauth2.0客户端未根据大小填充额外的=
个符号,例如$extrapadds = $jwtTokenSize % 4;
和Yahoo OAuth2.0 openid id_token docs在任何地方都没有提及。甚至基本字符串都不能替代" - "和" _" as" +"和" /"
是因为这些服务提供商(微软和雅虎)没有遵循标准,或者他们以某种方式找到了避免这种情况的方法
请澄清我......并在可能的情况下分享代码,解释解码JWT的正确方法id_token
答案 0 :(得分:1)
要在base64url编码的令牌(这是JWT)上使用base64解码器,实际上并不需要填充,只需按规范推荐;见Why does base64 encoding requires padding if the input length is not divisible by 3?
另外:解码器实现可能能够自己处理填充。
雅虎文档确实是错误的,因为base64编码与base64url编码不同,规范指示base64url:https://tools.ietf.org/html/rfc7519#section-3雅虎不是真正的OPenID Connect提供商(还)因此可能就是为什么它不是在Yahoo Oauth2/OpenIDconnect
之前修复