我正在使用Microsoft.AspNetCore.Authentication.MicrosoftAccount包将对MS帐户的身份验证添加到我的Web应用程序。 当我使用我的工作AzureAD详细信息登录时,一切正常,返回预期的名称和电子邮件声明。 但是,如果我使用相同的代码通过个人@ outlook.com帐户登录,它仍然可以正常登录,但不会返回电子邮件声明(如姓名等)
我可以找到的其他帖子似乎只是关于不包括正确的范围,但我不认为这是问题所在。我正在使用以下代码初始化身份验证(注意:默认情况下,User.Read范围已添加到Scope中):
services.AddAuthentication(...)
.AddMicrosoftAccount(microsoftOptions =>
{
microsoftOptions.ClientId = Configuration["Authentication:Microsoft:ClientId"];
microsoftOptions.ClientSecret = Configuration["Authentication:Microsoft:ClientSecret"];
microsoftOptions.Scope.Add("https://graph.microsoft.com/User.ReadBasic.All");
microsoftOptions.Scope.Add("openid");
microsoftOptions.Scope.Add("email");
microsoftOptions.Scope.Add("profile");
});
我还应该看什么,或者这仅仅是对个人帐户的作用?