我正在使用openam OAuth 2.0 / OpenID access_token end-point来获取id_token。 id_token包含RS256签名。
我需要验证此令牌。那么我从哪里可以获得用于签署此令牌的“公共证书”?
我在这里找到了公钥证书,
%BASE_DIR%/%SERVER_URI%/ keystore.jks。但在使用此证书进行验证后,它表示无效。
答案 0 :(得分:2)
您可以使用众所周知的配置端点来查找OIDC提供程序的jwks_uri。然后,只需根据JWT中的“kid”值从jwks_uri响应中选择正确的密钥。
当然,只要JWT的签名算法基于非对称密钥(RS *,ES *),查看jwks_uri端点才有意义。