【发布时间】:2021-06-03 23:24:20
【问题描述】:
我已使用 Azure AD B2C 身份验证和 Microsoft Graph 成功设置了一个 Asp.Net Core Web 应用程序。我想为用户返回 objectIdentity,以便我可以从 issuerAssignedId 属性中提取用户名。然而,身份对象是空的,所以我怎样才能得到这个值?
这是我在 Startup 中的配置。
services.AddMicrosoftIdentityWebAppAuthentication(Configuration, "AzureAdB2C");
services.Configure<OpenIdConnectOptions>(Configuration.GetSection("AzureAdB2C"));
services.AddSingleton<IGraphServiceClient>(implementationFactory =>
{
var clientId = Configuration["MicrosoftGraph:ClientId"];
var tenantId = Configuration["MicrosoftGraph:TenantId"];
var secret = Configuration["MicrosoftGraph:ClientSecret"];
IConfidentialClientApplication confidentialClientApplication = ConfidentialClientApplicationBuilder
.Create(clientId)
.WithTenantId(tenantId)
.WithClientSecret(secret)
.Build();
ClientCredentialProvider authProvider = new ClientCredentialProvider(confidentialClientApplication);
return new GraphServiceClient(authProvider);
});
这是我在 Azure AD B2C 中的 API 设置。
这是我在 Azure AD B2C 中的测试用户帐户。因为它是具有用户名的本地帐户,所以我试图获取下面突出显示的用户主体名称下的值。
--- 更新 ---
这绝对是我在 Azure AD B2C 中手动创建的本地帐户。这是设置。
已安装的软件包
【问题讨论】:
-
确保使用 MS Graph API 的 beta 端点。
-
@JasSuri-MSFT 是正确的。
标签: microsoft-graph-api azure-ad-b2c azure-ad-graph-api