gpt4 book ai didi

openid - IdentityServer4 为什么我们需要发现端点

转载 作者:行者123 更新时间:2023-12-02 09:17:16 25 4
gpt4 key购买 nike

免责声明:我是 IdentityServer 的新手。目前正在试验 IdentityServer4。

我们有一个带有 C# Web 服务的 Web 服务器,只有授权用户才能访问。我们希望使用 IdentityServer4 来颁发 JWT 访问 token 。

合作伙伴正在访问 token 端点以获取 JWT token 。我们的后端 Web 服务正在接收 token ,然后在身份服务器上调用发现端点来解密 token 。

我不明白这是如何保证安全的。

  • 我需要发布发现端点吗?

我只希望我的内部后端应用程序使用它。

  • 我想知道我是否真的需要发布发现端点。难道不应该被保护吗?
  • 还有其他方法可以解密 token 吗?

感谢您的帮助!

最佳答案

发现端点 (.well-known/openid-configuration) 托管所谓的发现文档。简而言之,出于大多数实际目的,OpenIDConnect 客户端可能会使用本文档针对 OpenIDConnect 提供程序进行自身配置。

一般来说,一些客户端,无论实现平台如何,无论是 .NET Java 还是 Python,都可能需要发现文档,以便对假定由安全 token 服务器颁发的 token 进行 token 验证。

让我们看一下 Google 的发现文档,例如,可以找到 here您会注意到这是一个非常标准的发现文档,但是该文档中的每个键都有一些自定义值。它们仅支持 RS256 进行 token 签名,并且支持由本文档中的 response_types_supported 键推断出的大量 openid 连接流。该文档可以直接为依赖此 OpenIDConnect 提供商的任何客户端提供大量信息,而无需执行一些复杂的协议(protocol)前导码。

最后关于您有关安全的问题。您确实需要发布发现端点。 jwks_uri 是包含 JSON Web key 集的 OpendIDConnect 提供商的 uri,这是一组安全 Material (通常是公共(public)或共享 key ),用于在验证过程中验证 token 。

您还可以使用内省(introspection)端点(通过发现文档找到)来验证 token 。您无需解密 token ,它们只是经过验证。 token 通过 SSL 进行加密。因此,如果您愿意,可以使用内省(introspection)端点来验证 token ,但这意味着您要在使用 JWT 不记名 token 的每个请求之上添加往返调用来验证 token 。

总之,发现文档非常重要,它包含安全 Material ,可以让您在不进行带外调用的情况下进行 JWT 验证。

关于openid - IdentityServer4 为什么我们需要发现端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43871427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com