Azure/.NET Web API/Office 365-身份验证

Azure/.NET Web API/Office 365-身份验证,azure,authentication,asp.net-web-api,oauth-2.0,Azure,Authentication,Asp.net Web Api,Oauth 2.0,我正在创建一个web api应用程序,该应用程序将使用Oauth进行身份验证。我是否可以将身份验证设置为个人帐户和组织帐户的混合 场景:一组用户属于使用Office 365的组织。另一组用户可能不会。最终目标是允许所有用户登录,但对于组织用户,我还希望允许他们与与其组织相关的Office365 API集成 是否有一种解决方案设计允许我选择在何处验证用户-使用应用程序的Azure AD或订阅组织的AD?对于仅验证MSA和AAD组织,您可以使用新的Microsoft Graph()-它是所有Micr

我正在创建一个web api应用程序,该应用程序将使用Oauth进行身份验证。我是否可以将身份验证设置为个人帐户和组织帐户的混合

场景:一组用户属于使用Office 365的组织。另一组用户可能不会。最终目标是允许所有用户登录,但对于组织用户,我还希望允许他们与与其组织相关的Office365 API集成


是否有一种解决方案设计允许我选择在何处验证用户-使用应用程序的Azure AD或订阅组织的AD?

对于仅验证MSA和AAD组织,您可以使用新的Microsoft Graph()-它是所有Microsoft身份和请求访问邮件、日历等内容的统一端点。它使用v2 AAD端点(如下所述),应用程序注册是通用的,因此您可以使用组织或个人帐户登录

您可以使用Azure B2C作为拥有目录来扩展它

  • 将Microsoft帐户添加为身份提供程序,以及
  • 使用v2端点
在这一点上,用户可以使用消费者帐户(Facebook、Microsoft、google等)登录。作为扩展,因为对于MSA,它使用了新的v2端点,所以您可以提示用户使用MSA或org cccount登录-用户会得到如下提示。注意“工作或学校,或个人microsoft帐户。”

然而,v2有一些限制:所以在潜水之前,确保你可以做任何你想做的事情。一些回复URL和代表流(就像您在API中看到的那样)有一些域/受众限制