Azure B2C - .net core 3.1 MVC 客户端 - NameClaimType

问题描述

在浏览了许多演示和示例后,我有一个工作演示。 我有一个 mvc 站点,它使用 azure b2c 进行身份验证并使我登录 - 我可以注销。 User.Identity 已填充 - 我可以使用“电子邮件”声明来获取用户的电子邮件

我只想从用户那里收集电子邮件地址 - 没有其他详细信息,例如用户名或他们的姓名等。

目前 User.Identity.Name 为空 - 因为我在注册时不会从用户那里收集这些信息。 我想将 NameClaimType 更改为 - 我猜应该是“电子邮件”,因为这是包含电子邮件值的声明的名称

基本上我想返回 User.Identity.Name 中的电子邮件

我找不到这样做的方法

Startup.cs 有以下内容

services.AddMicrosoftIdentityWebAppAuthentication(Configuration,"AzureAdB2C");

services.Configure<OpenIdConnectOptions>(Configuration.GetSection("AzureAdB2C"));

我试过这样做..

services.Configure<OpenIdConnectOptions>(options =>
{
     options.TokenValidationParameters.NameClaimType = "emails";
});

但这似乎没有任何影响。

如果我检查 User.Identity - 我可以看到 NameClaimType 的值仍然是“name”

这段代码似乎很新,我找不到有关如何为 .net 3.1 自定义代码的任何文档

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)