作者:hyc_erasme | 来源:互联网 | 2023-01-28 17:38
我修改了startup.Auth.cs以便我可以添加范围.这是我有的:
MicrosoftAccountAuthenticationOptions mo = new MicrosoftAccountAuthenticationOptions()
{
ClientId = "My Client ID",
ClientSecret = "My Client Secret",
};
app.UseMicrosoftAccountAuthentication(mo);
这允许我验证用户.
我尝试添加范围wl.signin,wl.emails和wl.contacts_emails.但是,它们会导致Microsoft登录页面报告以下错误:AADSTS70011:输入参数"scope"的提供值无效.范围wl.signin,wl.emails,wl.contacts_emails无效.openid和email的范围组合似乎有效.但是,openid范围对我正在尝试做的事情来说太过分了.也就是说,我认为从用户那里询问太多了.范围电子邮件全部由它自己不起作用.
这特别奇怪,因为Visual Studio设置的模板假定外部身份验证提供程序将提供电子邮件地址.
我如何只收到用户的电子邮件?
对于上下文,我使用以下文档:https:
//developer.microsoft.com/en-us/graph/docs/concepts/permissions_reference#openid-permissions,这给人的印象是我希望范围中包含电子邮件和配置文件.但是,它继续声明它们默认包含在内.
我正在尝试使用以下文档在我的MVC项目中实现外部身份验证:https://docs.microsoft.com/en-us/aspnet/core/security/authentication/social/microsoft-logins.