Я использую Okta для управления идентификацией. Как клиент в процессе авторизации, я отправляю запрос на авторизацию в Okta. Это работает успешно, и я получаю полезную нагрузку JWT. Я хочу проверить подпись JWT, поэтому я снова обращаюсь к Okta, чтобы получить ключи. Однако идентификаторы ключей (дети) не совпадают, и проверка не выполняется.
Запрос на первоначальную авторизацию:
https://{{site}}.okta.com/oauth2/v1/authorize
?scope=openid
&response_type=id_token
&client_id={{client_id}}
&redirect_uri={{redirect_url}}
&nonce=4euiv0v52at3la15e7qlu1mt43
&state=7c92bqulrmdk2jk0ro9rd3mf5j
Ответ - 403, перенаправляющий меня на:
{{redirect_url}}/id_token={{id_token}}
Заголовок id_token декодируется в:
{
"alg": "RS256",
"kid": "2YKtkekCjCRWN0YqGsjUrNwIQaxGg5ahfHW0_fK8t64"
}
Все идет нормально. Я знаю, что авторизация прошла успешно. Пора проверить JWT.
Однако, когда это сопровождается:
https://{{site}}.okta.com/oauth2/v1/keys
Or
https://{{site}}.okta.com/oauth2/v1/keys?clientId={{client_id}}
(они оба возвращают один и тот же ответ), я возвращаю это:
{
"keys": [
{
"alg": "RS256",
"e": "AQAB",
"n": "gv1rI9A7mrOoViJZTzUfiZl7YdEzLEofvRoVbXCgeW7aOmoKcAkWGHvqNRGoFgi8auV5b_TSgTXKq_TV1fz643hpAtba3V0Uw2lXchTbqXpmVRYXI1t4FIwRMXLe4Q-kcvp9la21e3D1lszjdPbFNX5GLAhrCW0Thu2HYbTLg6TbDTMaiQCMo15hek0JgZqRGzCkt9kINnwPVLXV_bkSh_fHWo_6G1L0MKYYQcgE6zvPlULLek98-yZ6Nlg6nJUY9nHn0qjhzqqq-bz_Vin8qi3Bt7SjUKwk7HbaugM84AEgDxYE5JgsaALIl5SgIc3GgFEc69qKWymoD-w1a8f1HQ",
"kid": "SOxFkBSLWefjlZoDI49Hk0nqlYtC28cjhTlVAYEzAxs",
"kty": "RSA",
"use": "sig"
}
]
}
Если ребенок не соответствует тому, что я получил в исходном ответе.
В чем моя ошибка?