Какой открытый ключ использовать при проверке подписи JWT.io Токен OneLogin ID

Я пытаюсь проверить id_token, полученный от OneLogin OpenID Connect. Я посмотрел в Интернете, и все говорят, что мне нужно использовать файл .pem, но как мне создать этот файл? Я могу использовать OpenSSL для его создания, но какой ключ использовать при создании этого сертификата .pem? Я пробовал с client_id, client_secret. Ни один из них не работает.

Может кто-нибудь помочь?

Пожалуйста, посмотрите на скриншот.введите здесь описание изображения


person mayurc    schedule 10.06.2017    source источник


Ответы (1)


OneLogin поддерживает шифрование с открытым ключом (RS256), и вы можете найти открытые ключи на известной конечной точке, которую предоставляет OneLogin.

Бывший. https://t3stc0.onelogin.com/oidc/.well-known/openid-configuration

Этот URL-адрес (конкретный для вашей учетной записи) также можно найти на вкладке SSO в конфигурации вашего приложения.

С этой конечной точки вы можете получить ссылки на различные сведения о сертификатах в различных областях.

  "id_token_signing_alg_values_supported": [
    "RS256"
  ],
  "issuer": "https://openid-connect.onelogin.com/oidc",
  "jwks_uri": "https://t3stc0.onelogin.com/oidc/certs", 

Дополнительные сведения об особенностях см. в спецификации OIDC. Я также настоятельно рекомендую сделать так, чтобы ваш код реагировал на смену ключей, поскольку эти ключи могут меняться (я полагаю, что Google меняет их ежедневно!)

Но любой достойный клиент OIDC с открытым исходным кодом должен сделать это за вас.

person John Offenhartz    schedule 10.06.2017
comment
Спасибо @john! Я могу использовать эти ключи jwks_uri для проверки с помощью этой библиотеки jwk-to-pem. Я пытался посмотреть, смогу ли я проверить это на сайте jwt.io. Я попытаюсь преобразовать этот json в формат pem и проверить. Благодарю вас! - person mayurc; 11.06.2017