gpt4 book ai didi

asp.net-core - 在 JwtBearerOptions 中指定用于 Azure Active Directory 身份验证的客户端 key

转载 作者:行者123 更新时间:2023-12-03 22:13:29 24 4
gpt4 key购买 nike

如果我在 Visual Studio 2017 中创建新的 ASP.NET Core MVC 应用程序,我可以使用一行将客户端 key 添加到 AzureAdServiceCollectionExtensions:

public void Configure(string name, OpenIdConnectOptions options)
{
options.ClientId = _azureOptions.ClientId;
// Add this line below
options.ClientSecret = _azureOptions.ClientSecret;
options.Authority = $"{_azureOptions.Instance}{_azureOptions.TenantId}";
options.UseTokenLifetime = true;
options.CallbackPath = _azureOptions.CallbackPath;
options.RequireHttpsMetadata = false;
}

配置 POCO 已连接以从配置文件中获取它。

另一方面,在 Web API 项目中,身份验证使用 JWT token ,并且 Visual Studio 生成的代码有所不同:

public void Configure(string name, JwtBearerOptions options)
{
options.Audience = _azureOptions.ClientId;
options.Authority = $"{_azureOptions.Instance}{_azureOptions.TenantId}";
}

我不确定在 JwtBearOptions 中的哪个位置放置客户端 key 。

最佳答案

您实际上并未在选项中指定客户端 key 。当您使用对称 key 签署 token 时会使用它。

public void Configure(string name, JwtBearerOptions options)
{
options.Audience = _azureOptions.ClientId;
options.Authority = $"{_azureOptions.Instance}{_azureOptions.TenantId}";
var secretKey = "mysupersecret_secretkey!123";
var signingKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(secretKey));
options.TokenValidationParameters.IssuerSigningKey = signingKey;
}

查看这些链接:

关于asp.net-core - 在 JwtBearerOptions 中指定用于 Azure Active Directory 身份验证的客户端 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46897492/

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