Аутентификация с использованием Microsoft.AspNetCore.Authentication.MicrosoftAccount не возвращает электронную почту для личной учетной записи - PullRequest
0 голосов
/ 08 апреля 2019

Я использую пакет Microsoft.AspNetCore.Authentication.MicrosoftAccount для добавления аутентификации для учетных записей MS в мое веб-приложение. Когда я вхожу в систему, используя свои рабочие данные 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");
                });

Что еще я должен смотреть, или это просто, как это работает с личными учетными записями?

...