Поле alg не отображается в ответе Azure AD jwks - PullRequest
0 голосов
/ 16 июня 2020

Я использовал консоль Azure AD для настройки токена JWT. Все выглядело нормально и можно было получить токены, но я обнаружил, что поле 'alg' (алгоритм) не присутствует в ответе JWKS_url (https://login.microsoftonline.com/ {tenantId} /discovery/v2.0/ ключи). См. Снимок экрана ниже, поэтому моя программа не знает, какой алгоритм следует использовать для декодирования. Как мне настроить в консоли, чтобы она возвращала файл alg для каждого ключа в ответе jwks, как это делают другие IDP?

Ответ JWKS Снимок экрана

1 Ответ

0 голосов
/ 17 июня 2020

Когда вы декодируете полученный токен JWT с помощью Jwt.ms , вы можете увидеть заголовок, который предоставляет информацию об используемом алгоритме (ie RS256) и идентификаторе используемого ключа, но это само по себе не 'Недостаточно найти ключ, который будет использоваться.

Чтобы найти ключ publi c, который будет использоваться для проверки подписи, используя

https://login.microsoftonline.com/{tenantId}/.well-known/openid-configuration

, отсюда следует получить атрибуты jwks_uri, которые возвращает другой документ JSON, в котором перечислено количество ключей, где вы можете использовать kid из заголовка JWT, чтобы определить, какой ключ использовать

...