Перейти к содержимому
ecdsa.com

JWKS (набор ключей JSON Web Key Set)

JSON-объект с массивом keys из открытых JWK; издатель обычно отдаёт его по jwks_uri, чтобы доверяющие стороны проверяли токены и следили за ротацией ключей.
Другие написанияJWK Setjwks_uriJSON Web Key Setjwks.json

Механизм обнаружения OpenID Connect (/.well-known/openid-configuration) и метаданные сервера авторизации OAuth (RFC 8414) публикуют URL набора в поле jwks_uri; набор содержит все ключи, которые сейчас действительны для проверки, каждый со своим kid. Проверяющие стороны кешируют набор, выбирают ключ, kid которого совпадает с указанным в заголовке токена, проверяют, что kty и alg ключа подходят к ожидаемому алгоритму, а встретив неизвестный kid, загружают набор заново, ограничивая частоту запросов.

Ротация работает так: новый ключ добавляют в набор до того, как начать им подписывать, а старый удаляют только после того, как истёк срок действия всех подписанных им токенов. На что обращать внимание: ошибочно опубликованные закрытые поля (d), повторяющиеся значения kid, ключи без alg, которые нестрогая библиотека использует не с тем алгоритмом, и кеши, которые никогда не обновляются. Проверка JWKS ищет эти проблемы на работающем эндпоинте.

Стандарты и ссылки

Все термины