使用Microsoft.AspNetCore.Authentication.MicrosoftAccount的身份验证不会返回个人帐户的电子邮件

时间:2019-04-08 11:24:08

标签: c# authentication asp.net-core-3.0

我正在使用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");
                });

我还应该看什么,或者这仅仅是对个人帐户的作用?

0 个答案:

没有答案