我正在尝试使用 Azure B2C 添加 JWT Bearer 身份验证。我正在使用默认项目模板来创建具有身份验证的 Blazor 服务器端应用程序。我在创建页面选择了 B2C 身份验证,它设置了默认身份验证使用
services.AddAuthentication(AzureADB2CDefaults.AuthenticationScheme)
.AddAzureADB2C(o => Configuration.Bind("AzureAdB2C", o));
这很好用。
我正在尝试添加 JWT Bearer 身份验证。这是我正在使用的代码:
services.AddAuthentication(AzureADB2CDefaults.JwtBearerAuthenticationScheme)
.AddAzureADB2CBearer(o => Configuration.Bind("AzureAdB2C", o));
此外,我添加"ClientId": "my_client_id"
到配置部分,因为它是该方案所必需的,这里的代码指出它在使用此方案时使用
https://github.com/aspnet/AspNetCore/blob/a784f4575b738ec5b7c6f5cfff2b1fee10de5118/src/Azure/AzureAD/Authentication.AzureADB2C .UI/src/AzureADB2CJwtBearerOptionsConfiguration.cs#L32
但是,尝试登录时出现错误Sorry, there's nothing at this address.
这表明内置控制器没有受到打击(下面的链接)。
我也尝试将登录链接从/AzureADB2C/Account/SignIn
to修改/AzureADB2C/Account/SignIn/AzureADB2CJwtBearer
,但得到了相同的结果。这里的代码建议方案名称应该传递给控制器方法,这就是我这样做的原因,但仍然是同样的问题。
https://github.com/aspnet/AspNetCore/blob/a784f4575b738ec5b7c6f5cfff2b1fee10de5118/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Areas/AzureADB2C/Controllers/AccountController.cs#L26
我知道最近才添加了身份验证,这仍然是实验性的,并且查看看起来应该支持 JWT 的代码,所以我想知道我是否遗漏了一些东西。任何帮助是极大的赞赏。