2017-03-04 307 views
0

我正在创建一个web api应用程序,该应用程序将使用Oauth进行身份验证。我可以将验证设置为个人帐户和组织帐户的混合吗?Azure/.NET Web API/Office 365-身份验证

场景:一组用户属于使用Office 365的组织。另一组用户可能不是。最终目标是允许所有用户登录,但就组织用户而言,我还希望允许他们与与其组织绑定的Office 365 apis集成。

是否有解决方案设计可以让我选择认证用户的位置 - 使用应用程序的Azure AD还是订阅组织的AD?

回答

0

对于仅对MSA和AAD组织进行身份验证,您可以使用新的Microsoft Graph(http://graph.microsoft.io) - 它是所有Microsoft身份和请求访问邮件,日历等内容的统一终端。它使用v2 AAD端点(下文提及)和应用程序注册是通用的,因此您可以使用组织或个人帐户登录。

您可以将Azure B2C扩展为拥有目录。

  • 加入微软帐户身份提供商,并
  • 使用V2端点

此时用户可以与消费者帐户(在Facebook,微软,谷歌,等等)登录。通过扩展,因为对于MSA它使用新的v2端点,您可以提示用户使用MSA或组织cccount登录 - 用户将得到如下所示的提示。请注意“工作或学校,或个人微软账户”。

v2有一些限制,但是:https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-compare因此请确保您可以在潜入之前完成您想要的任何操作。某些回复URL和代表流(如您在API中看到的)有一些域/受众限制。

Work or school, or personal Microsoft account