我正在尝试验证我从OneLogin OpenID Connect收到的id_token。我在网上查了一下,每个人都说我需要使用.pem文件,但是如何生成该文件呢?我可以使用OpenSSL生成它,但在生成.pem证书时使用哪个密钥?我尝试过client_id,client_secret。这些都不起作用。
有人可以帮忙吗?
答案 0 :(得分:3)
OneLogin支持公钥(RS256)加密,您可以通过井.InLogin提供的已知端点找到公钥。
实施例。 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 spec。我也高度建议让您的代码能够响应更改密钥,因为这些密钥可能会发生变化(我相信Google会每天更改密码!)
但是任何体面的开源OIDC客户端都应能够为你做到这一点。