我有一个带WebApi服务的自定义MVC WebApplication,需要身份验证/授权。我按照GitHub WebApp-WebAPI-OpenIDConnect-DotNet上的示例进行了操作。在开发过程中,我在个人Azure订阅上创建了一个新的测试目录,一切正常。我可以添加机构帐户(如jon@mytenantname.onmicrosoft.com)和现有的Microsoft帐户(jon@hotmail.com),并将它们分配给不同的组。 当用户在登录页面上键入liveID电子邮件地址并将光标移动到密码文本框时,他被重定向到Microsoft帐户登录页面。
现在我将应用程序发布到我们的生产Web服务器,并希望将应用程序连接到同步的Azure Active Directory。它适用于所有机构(工作)帐户。但是,当我添加一个Microsoft帐户,并尝试使用这些凭据登录时,重定向不再起作用。登录页面显示为红色:
我们无法识别此用户ID或密码 确保您键入了组织分配给您的用户ID。它通常看起来像someone@example.com或someone@example.onmicrosoft.com。并检查以确保输入正确的密码。
我错过了什么?是否可以在一个目录中一起使用同步的机构和个人Microsoft帐户?
答案 0 :(得分:2)
我的团队拥有Azure AD的登录用户体验。 AAD登录页面识别诸如outlook.com之类的域并将用户重定向到Microsoft帐户(Live ID)登录页面这一事实是偶然的。它不适用于所有消费者域,并且不能依赖它来启用MSA登录您的应用程序。如果要支持登录Azure AD和MSA用户,则需要在应用中显示单独的登录按钮。我们正在研究如何在长期内改善这种体验。 希望这会有所帮助。
答案 1 :(得分:0)
如果您正在使用示例中的openid connect,并且您没有使用/ common端点,则两种方案之间应该没有区别。 我假设您也是prod目录中的管理员?您是否以与在测试目录中完全相同的方式在prod目录中配置Microsoft帐户?