Примечание о OIDC lingo
- Поставщик OpenId (OP) аналогичен SAML2 IdP
- Проверяющая сторона (RP) аналогична SAML2 SP
Я знал, на что вы ссылались, когда писали «IdP» и «клиент», но хочу отметить, что вы обычно будете видеть OP и RP, используемые для документации / обсуждений OIDC.
Контекст и предложения
Коммерческий RP, который вы тестируете, утверждает, что проверка подписи идентификатора токена (т.е. JWT) не удалась.Чтобы конкретно ответить на ваш вопрос, нет, это , а не с использованием сертификата x509 с веб-сайта OP для проверки подписи.Ключ, используемый RP для проверки подписи, будет зависеть от того, настроили ли вы свой OP для подписи токенов ID, используя:
- HS256 (алгоритм симметричного ключа);или
- RS256 (алгоритм асимметричного ключа)
Пожалуйста, ознакомьтесь с принятым ответом в этой теме для контекста: RS256 против HS256: В чем разница?
В первом случае (HS256) ваш OP подписывает токен ID секретным ключом.И ваш RP должен проверить подпись, используя тот же секретный ключ.(Примечание: как вы, вероятно, знаете, важно обеспечить безопасность и безопасность этого общего секретного ключа.) Если это ваша среда, возможно, коммерческий RP имеет параметр конфигурации, позволяющий загружать или копировать / вставлять секретный ключ.
В последнем случае (RS256) ваш OP подписывает токен ID с помощью закрытого ключа, но ваш RP проверяет подпись, используя свой аналог открытого ключа.Если это ваша среда, возможно, коммерческий RP имеет параметр конфигурации для указания "jwks_uri" и "kid".Они относятся к URI, на котором публикуется ваш открытый ключ, и к его идентификатору ключа соответственно.