【问题标题】:Setup Kestrel with RequireCertificate for single controller/endpoints使用 RequireCertificate 为单个控制器/端点设置 Kestrel
【发布时间】:2021-06-21 01:59:56
【问题描述】:

是我运气不好还是有一个选项可以指定只有一个路径/端点需要客户端证书?

场景: IdentityServer4 让我们的用户可以选择以多种方式登录(用户名/密码、Azure AD 或 ClientCertificate)

前两个按预期工作,但证书路径不会提示用户输入他/她的证书,我知道它可以使用 IIS,但我们想使用 Kestrel 运行它。

如果我将项目 kestrel 设置为需要证书,所有端点都需要它,这会破坏使用用户名/密码 og azure ad 登录时的用户体验。

是否有任何选项可以仅设置 localhost/certificate 路径以要求证书,然后如果请求中没有证书,则在重定向到该路径端点时提示用户提供他们的证书?

【问题讨论】:

    标签: ssl .net-core identityserver4 client-certificates kestrel


    【解决方案1】:

    通过设置两个主机并在证书挑战端点中捕获请求并检查连接来解决它,如果不存在证书并且连接正在使用非 requirecert 连接,我将上下文重定向到正确的连接并且是然后提示按预期提供证书和登录工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-31
      • 1970-01-01
      • 2021-01-17
      • 1970-01-01
      • 2018-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多