JWKS

JWKS — это JSON-документ, содержащий массив ключей, каждая запись которого представляет собой открытый ключ в формате JWK с идентификатором (kid), типом ключа, алгоритмом и материалом ключа. Поставщики идентификационных данных публикуют его по известному URL-адресу, чтобы каждый API, получающий их токены, мог проверять подписи, не раскрывая никаких секретных данных.

Как это работает

Подписанный JWT указывает в поле kid заголовка ключ, с помощью которого он был подписан. Верификатор получает JWKS эмитента (обычно его можно найти в документе обнаружения OpenID), выбирает ключ с этим kid и проверяет подпись. Ключи меняются путем публикации нового ключа рядом со старым перед переключением, поэтому верификаторы должны кэшировать набор ключей, но повторно получать его при неизвестном kid.

Заблуждение

Ключевой набор можно получить один раз и закрепить в конфигурации. Провайдеры меняют ключи; верификатор с жестко закодированным ключом начинает отклонять каждый действительный токен в день смены ключа. Противоположная ошибка — получение ключа при каждом запросе — делает поставщика идентификации зависимым от каждого вызова.

Попробуйте здесь.

Запрос GET /identity/v1/jwks возвращает демонстрационный набор ключей API Modern Identity, а документ обнаружения по адресу GET /identity/v1/.well-known/openid-configuration указывает на него, как это делает реальный поставщик.

Источники

Другие термины

Читать страницу на английском

Все термины · Приёмы тестирования · Все 39 mock REST API

Последнее обновление