2016-03-04 4 views
2

После отсылая JWT(id_token) decoding docsКаков правильный способ декодирования JWT (id_token)?

Я запутался ли основные поставщики услуг следовать той же технике ...

клиент Microsoft OAuth 2.0 в git projectgetUserEmailFromIdToken() функции не подушечка дополнительных = знаков на основе например, $extrapadds = $jwtTokenSize % 4;

и Yahoo OAuth2.0 openid id_token docs также нигде не упоминается. не даже основные струнные заменители «-» и «_», как «+» и «/»

это потому, что эти поставщики услуг (Microsoft и Yahoo) не соответствуют стандартам или они каким-то образом нашли способ избежать таких сценариев

Просьбы разъяснить мне ... и поделиться кодом, если это возможно объяснить правильный способ декодирования JWT id_token

ответ

1

чтобы использовать base64 декодер на base64url кодированных маркеров (который является то, что JWT), заполнение на самом деле не требуется, просто рекомендуется по спецификации; см. Why does base64 encoding requires padding if the input length is not divisible by 3?

Также: реализация декодера может иметь дело с самой прокладкой.

The Yahoo документы действительно не так как кодирование base64 отличается от кодирования base64url и спецификации диктует base64url: https://tools.ietf.org/html/rfc7519#section-3 Yahoo не является на самом деле поставщик OpenId Connect (пока), так что может быть, почему она не была установлена ​​ранее Yahoo Oauth2/OpenIDconnect

+1

Согласен с Гансом. Я предполагаю, что вы разместили это в репозитории GitHub :). См. Мой ответ там (который перекликается с Хансом): https://github.com/jasonjoh/php-tutorial/issues/6 –

+0

@Hans Z., говоря: «Yahoo не является действительно провайдером OPENID Connect (пока)», по-прежнему считают, что это ваш предыдущий пост (http://stackoverflow.com/a/27789250/5917094) - январь 2015 года, а сегодня - март 2016. Если у вас есть какие-либо ссылки, чтобы проверить, является ли yahoo/microsoft/google openid connect provider, пожалуйста, поделитесь им здесь ... Это будет очень полезно –

+0

@JasonJohnston Объяснение в github разъясняет мне ... вы можете поделиться тем же объяснением здесь для будущих ссылок, и это может помочь кому-то, у кого есть тот же сомнение –

 Смежные вопросы

  • Нет связанных вопросов^_^