Oauth 2.0 通过CAC、PIV、X.509智能卡的IdentityServer 4和用户身份验证证书

Oauth 2.0 通过CAC、PIV、X.509智能卡的IdentityServer 4和用户身份验证证书,oauth-2.0,smartcard,identityserver3,identityserver4,cac,Oauth 2.0,Smartcard,Identityserver3,Identityserver4,Cac,我正在尝试使用IdentityServer4中的智能卡证书对用户进行身份验证 当我按照提供的样本操作时,首先,我无法在IE或Chrome中的证书弹出窗口中获取测试证书。我的iPhone会弹出一个苹果设备证书,另一个可能是我的测试证书配置错误 但当我选择任何证书时,它会将我带到ID4中的登录屏幕 我的问题是,我必须实现哪些接口,以便用户可以使用CAC、PIV、智能卡或X.509证书进行身份验证,并在证书有效时获取令牌 我已经研究了客户端证书身份验证所需的设置 var host = new WebH

我正在尝试使用IdentityServer4中的智能卡证书对用户进行身份验证

当我按照提供的样本操作时,首先,我无法在IE或Chrome中的证书弹出窗口中获取测试证书。我的iPhone会弹出一个苹果设备证书,另一个可能是我的测试证书配置错误

但当我选择任何证书时,它会将我带到ID4中的登录屏幕

我的问题是,我必须实现哪些接口,以便用户可以使用CAC、PIV、智能卡或X.509证书进行身份验证,并在证书有效时获取令牌

我已经研究了客户端证书身份验证所需的设置

var host = new WebHostBuilder()
            .UseKestrel(cfg =>
            {
                var httpsoptions = new HttpsConnectionFilterOptions
                {
                    ServerCertificate = cert,
                    ClientCertificateMode = ClientCertificateMode.AllowCertificate,
                    CheckCertificateRevocation = false,
                    SslProtocols = System.Security.Authentication.SslProtocols.Default,
                    ClientCertificateValidation = ClientCertificateValidation
                };

                cfg.UseHttps(httpsoptions);
            })

如果您使用IdentityServer4实现了类似的要求,有人能帮您吗?

我们很清楚,您的问题实际上只是“如何在ASP.NET Core中进行客户端证书身份验证”。IdentityServer实际上是辅助的。我的印象是,就像我们必须为资源所有者密码流实现IResourceOwnerPasswordValidator和IProfileService一样,我还需要实现一些其他接口,以便IdentityServer可以为基于证书的身份验证颁发令牌。不是吗?你有没有找到解决方案?没有,但我知道IdentityServer最近添加了cert authmtls@TarunpreetUbhi我注意到,截至2019年7月,您尚未找到解决方案。还是这样吗?我还尝试使用Identity Server实现CAC身份验证,发现缺少相互TLS文档。我们很清楚,您的问题实际上只是“如何在ASP.NET Core中进行客户端证书身份验证”。IdentityServer实际上是辅助的。我的印象是,就像我们必须为资源所有者密码流实现IResourceOwnerPasswordValidator和IProfileService一样,我还需要实现一些其他接口,以便IdentityServer可以为基于证书的身份验证颁发令牌。不是吗?你有没有找到解决方案?没有,但我知道IdentityServer最近添加了cert authmtls@TarunpreetUbhi我注意到,截至2019年7月,您尚未找到解决方案。还是这样吗?我还尝试使用Identity Server实现CAC身份验证,发现缺少相互TLS文档。