5

我最近提出的一个问题是关于 asp.net 核心中的 JWT 中间件是如何工作的,如果你想使用身份提供者非对称密钥(大概基于 JWKS)来验证令牌,你可以设置授权 URL。我看到的所有示例都完全无法解释这个权限 URL 应该是什么。一些 auth0 示例说它只是您的 auth0 域 - 但如果是这种情况,那么中间件如何从这个基本 URL 中找到公钥?每个提供者对可以找到 JWKS 的端点都有不同的约定 - 那么这是如何工作的呢?

我的要求是我需要使用一个本地身份提供程序,其中 JWKS 端点与 auth0、okla、身份 4 或任何其他提供程序使用的完全不同。

是否有一些我不知道的所有这些提供商都使用的标准发现机制?我是否需要有相同的发现机制我是内部身份 Web 应用程序才能使该中间件工作?

谢谢!

4

1 回答 1

2

通常,OpenID 连接提供商遵循标准并提供一个发现端点,其中包括所有必要的端点和公钥位置信息。

OpenID 连接规范:https ://openid.net/specs/openid-connect-discovery-1_0.html

Auth0 公开 OIDC 发现文档 ( https://YOUR_DOMAIN/.well-known/openid-configuration )。这些可用于自动配置应用程序。 https://auth0.com/docs/protocols/oidc/openid-connect-discovery

IdentityServer 4 允许在发现文档中包含额外的端点。http://docs.identityserver.io/en/latest/topics/discovery.html

于 2019-06-15T23:22:06.710 回答