gpt4 book ai didi

azure - 如何配置 JwtBearerOptions 以在众所周知的 openid 配置 URL 中包含策略名称?

转载 作者:行者123 更新时间:2023-12-03 05:43:37 25 4
gpt4 key购买 nike

我正在尝试向我的 ASP.NET Web 应用程序添加一些不记名 token 验证。我正在使用内置的 JWT 身份验证代码,配置为使用以下代码...

services.AddAuthentication(ConfigureAuthentication).AddJwtBearer(ConfigureJwt);

它运行以下功能...

private void ConfigureAuthentication(AuthenticationOptions options)
{
options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
}

private void ConfigureJwt(JwtBearerOptions options)
{
var directoryId = Configuration["AzureAd:DirectoryId"];
var directoryName = Configuration["AzureAd:DirectoryName"];
var policy = Configuration["AzureAd:SigninPolicyName"];

options.Audience = Configuration["AzureAd:ApplicationId"];
options.Authority = $"https://{directoryName}.b2clogin.com/{directoryName}.onmicrosoft.com/v2.0";
}

ConfigureJwt 方法是我正在处理的方法。我似乎无法获取底层 JWT 代码来从适当的 URL 获取 openid-configuration 。它非常接近,但缺少 URL 中的策略。这是我上面的代码生成的内容,并尝试从...获取 openid-configuration ...

https://example-directory.b2clogin.com/example-directory.onmicrosoft.com/v2.0/.well-known/openid-configuration

这是应该从中获取配置的内容,如 Azure 门户指定的那样......

https://example-directory.b2clogin.com/example-directory.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=B2C_1_SignInPolicy

如您所见,我上面的代码缺少策略名称。

我似乎不知道如何在任何地方指定它。有谁知道如何配置 JwtBearerOptions 以便它包含此策略名称?

最佳答案

我认为管理局需要:

https://{directoryName}.b2clogin.com/{directoryName}.onmicrosoft.com/B2C_1A_signup_signin/v2.0

B2C_1A_signup_signin 替换为您的政策 ID。

其中包含策略 ID,它将从正确的位置下载元数据。

关于azure - 如何配置 JwtBearerOptions 以在众所周知的 openid 配置 URL 中包含策略名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56635127/

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