【问题标题】:Should the OpenId hide the JWKS url?OpenId 是否应该隐藏 JWKS url?
【发布时间】:2019-10-03 05:44:54
【问题描述】:

OpenId 标准有发现 URL,它公开了如何获取、撤销令牌、JWKS url 等。JWKS url 持有加密和解密令牌的密钥。

我试图隐藏此 url,但我的 oidc 中间件将无法工作,这将在我的前端应用程序中创建登录错误。

我不明白为什么 OpenId 以这种方式工作?为什么我们不能隐藏 JWKS?这个实现在实际情况下如何?故意公开 JWKS 网址以供人们破解令牌?

【问题讨论】:

    标签: openid identityserver4 openid-connect


    【解决方案1】:

    JWKS url 只公开公钥,以便资源服务器可以使用非对称加密来验证令牌确实已由预期的权威机构签署和颁发。

    【讨论】:

    • JWKS 包含解密 JWT 令牌所需的所有信息。密钥的验证可以在 OpenId 服务器的 introspection_endpoint 中完成。
    • @OngMingSoon Identity Server 4 JWT 未完全加密,它们包含使用非对称密钥的私有部分签名的标头。有效负载部分只是常规的 Base64 编码。 jwt.io 很好地说明了这一点
    【解决方案2】:

    JWKs URI 并不完全“持有加密和解密令牌的密钥”。它提供了提供者用来签署产生/发送和(可能)解密令牌的公钥/私钥对的公钥strong> 它使用/接收的任何消息。

    由于这是一个公钥,因此隐藏或保护提供它的端点是没有意义的。它不代表私人或敏感信息。请注意,相应的私钥永远不会共享或发布。

    FWIW:其他答案和 cmets 似乎将加密和签名混为一谈......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-10
      • 1970-01-01
      • 1970-01-01
      • 2012-04-19
      • 2012-12-29
      • 1970-01-01
      相关资源
      最近更新 更多