2016-03-04 19 views
2

指的JWT(id_token) decoding docs什麼是解碼JWT(id_token)的正確方法?

我很困惑的主要服務提供商是否會遵循相同的技術之後......

微軟的OAuth2.0客戶端git projectgetUserEmailFromIdToken()功能沒有墊額外=標誌基礎上,大小例如$extrapadds = $jwtTokenSize % 4;

和雅虎OAuth2.0 openid id_token docs也沒有提及任何地方。甚至沒有基本字符串替代「 - 」和「_」爲「+」和「/」

是不是因爲這些服務提供商(微軟和雅虎)沒有按照標準還是他們莫名其妙地發現一種方法來避免這種情形

請澄清我......如果可能的話解釋給JWT id_token

回答

1

解碼要在base64url編碼標記使用一個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雅虎是不是一個真正的ID連接提供商(還),這樣也許可以解釋爲什麼它Yahoo Oauth2/OpenIDconnect

之前不固定
+1

同意Hans。我猜你也發佈了這個GitHub回購以及:)。看到我的回答(迴應漢斯):https://github.com/jasonjoh/php-tutorial/issues/6 –

+0

@Hans Z.通過說「雅虎不是一個真正的OPenID連接提供商(還)」,你呢仍然認爲這是因爲你的[上一篇文章](http://stackoverflow.com/a/27789250/5917094)是在2015年1月,今天是2016年3月。如果你有任何引用來檢查是否雅虎/微軟/谷歌是一個openid連接提供商,請在這裏分享......這將有很大的幫助 –

+0

@JasonJohnston github中的解釋澄清了我......您可以在這裏分享相同的解釋以供將來參考,它可能會幫助有相同的人懷疑 –

相關問題