OpenId是否应该隐藏JWKS url?

OpenId是否应该隐藏JWKS url?,openid,identityserver4,openid-connect,Openid,Identityserver4,Openid Connect,OpenId标准具有发现URL,该URL公开了如何获取、撤销令牌、JWKS URL等。JWKS URL持有加密和解密令牌的密钥 我试图隐藏此url,但我的oidc中间件无法工作,这将在我的前端应用程序中创建登录错误 我不明白为什么OpenId会以这种方式工作?为什么我们不能隐藏JWKS?在实际案例中,这是如何实现的?有目的地公开JWKS url以便人们破解令牌 JWKS url仅公开公钥,以便资源服务器可以使用非对称加密来验证令牌是否确实已由预期的授权机构签名和颁发。JWKS URI并不完全“持

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

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


我不明白为什么OpenId会以这种方式工作?为什么我们不能隐藏JWKS?在实际案例中,这是如何实现的?有目的地公开JWKS url以便人们破解令牌

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

JWKS URI并不完全“持有密钥以加密和解密令牌”。它显示公钥/私钥对的公钥,提供者使用该公钥对其生成/发送的令牌进行签名,并(可能)对其使用/接收的任何消息进行解密

因为这是一个公钥,所以隐藏或保护它所服务的端点没有意义。它不代表私人或敏感信息。请注意,不会共享或发布相应的私钥


FWIW:其他答案和评论似乎将加密和签名混为一谈……

JWKS包含解密JWT令牌所需的所有信息。密钥验证可以在OpenId服务器的内省_端点中完成。@OngMingSoon Identity server 4 JWT未完全加密,它们包含使用非对称密钥的私有部分签名的头。有效负载部分只是常规的Base64编码。这在本书中得到了很好的说明