验证JWT.io签名OneLogin ID令牌时使用的公钥

时间:2017-06-10 16:57:02

标签: jwt openid-connect onelogin

我正在尝试验证我从OneLogin OpenID Connect收到的id_token。我在网上查了一下,每个人都说我需要使用.pem文件,但是如何生成该文件呢?我可以使用OpenSSL生成它,但在生成.pem证书时使用哪个密钥?我尝试过client_id,client_secret。这些都不起作用。

有人可以帮忙吗?

请参阅屏幕截图。enter image description here

1 个答案:

答案 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客户端都应能够为你做到这一点。