gpt4 book ai didi

ssl - Identity Server 中缺少相互 TLS 引用

转载 作者:太空宇宙 更新时间:2023-11-03 14:26:05 25 4
gpt4 key购买 nike

下午好,

我一直在关注 documentation用于向 Identity Server 添加双向 TLS。

但是,当我添加以下代码时:

    var builder = services.AddIdentityServer(options =>
{
options.MutualTls.Enabled = true;
options.MutualTls.ClientCertificateAuthenticationScheme = "x509";
});

我收到此导入引用错误:

'Identity Server Options' does not contain a definition for 'MutualTls'...

AddMutualTlsSecretValidators 也是一样。

这些引用是否在单独的库中?我搜索了文档并进行了一段时间的挖掘,但似乎找不到任何东西。

如能提供任何帮助,我们将不胜感激。

我在 Startup 类中尝试了各种导入,例如 IdentityModel、idunno.Authentication.Certificate 和 IdentityServer4,但这些都没有帮助。

这是我的启动类:

using IdentityModel;
using idunno.Authentication.Certificate;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using System.Threading.Tasks;

namespace IdentityServer
{
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();

services.AddAuthentication()
.AddCertificate("x509", options =>
{
options.RevocationMode = System.Security.Cryptography.X509Certificates.X509RevocationMode.NoCheck;

options.Events = new CertificateAuthenticationEvents
{
OnValidateCertificate = context =>
{
context.Principal = Principal.CreateFromCertificate(context.ClientCertificate, includeAllClaims: true);
context.Success();

return Task.CompletedTask;
}
};
});

var builder = services.AddIdentityServer(options =>
{
// Complains about missing reference
options.MutualTls.Enabled = true;
// Complains about missing reference
options.MutualTls.ClientCertificateAuthenticationScheme = "x509";

})
.AddDeveloperSigningCredential()
.AddInMemoryIdentityResources(Config.GetIdentityResources())
.AddInMemoryApiResources(Config.GetApis())
.AddInMemoryClients(Config.GetClients())
.AddTestUsers(Config.GetUsers())
// Complains about missing reference
.AddMutualTlsSecretValidators();
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}

app.UseStaticFiles();

app.UseIdentityServer();

app.UseMvcWithDefaultRoute();
}
}
}

最佳答案

正如 Ruard van Elburg 所说,看起来我的 Identity Server 4 版本不是最新的。当我更新到最新版本 (2.5.0) 时,它起作用了。

关于ssl - Identity Server 中缺少相互 TLS 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57082466/

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