我正在用.NET 5开发一个web应用程序,我想用Azure AD(组织Microsoft帐户(和G-Suite帐户将SSO添加到该应用程序中。当用户进入web应用程序时,应允许他使用Microsoft组织帐户或G-Suite帐户对其进行签名。该应用程序将作为应用程序服务托管在Azure上。此外,我还为我的组织安装了Azure Active Directory,这样我就可以创建应用程序注册。
我遇到的问题是不了解如何在我的web应用程序中实现这种身份验证。
Azure Active Directory提供B2C和B2B选项来配置身份验证。Azure AD B2B似乎更倾向于让供应商/合作伙伴访问Azure中的应用程序和资源,可以通过在主组织的AD中添加用户作为访客来实现。另一方面,Azure AD B2C似乎更注重客户,用户可以使用他们的社交帐户登录,也可以使用工作帐户登录。我访问了微软文档中列出的Woodgrove演示解决方案(https://woodgrovedemo.com/Account/LogIn)并尝试使用工作帐户登录,其中该工作帐户是G-Suite帐户。然而,工作账户必须是";Microsoft帐户";所以我无法登录。我也尝试过使用个人帐户选项登录,但这次不允许我使用组织的Microsoft帐户登录。
还有一些关于在.NET中配置身份验证的文章甚至没有提到Azure AD B2B和B2C,如下所示:https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-v2-aspnet-core-webapp?view=aspnetcore-5.0和https://learn.microsoft.com/en-us/aspnet/core/security/authentication/social/google-logins?view=aspnetcore-5.0.在这些文章中,它展示了如何分别配置Azure AD和Gmail身份验证,而且似乎没有同时配置两者的选项。此外,对于Gmail,不存在只允许使用G-Suite帐户的限制。
如何在我的.NET 5 web应用程序中同时使用Azure AD帐户(Microsoft组织帐户/Office 365帐户-不确定哪个术语正确(和G-Suite帐户配置SSO身份验证?我需要使用Azure AD B2B或Azure B2C来实现这一点吗?或者我甚至不需要这些?
对于这件事,如果有任何帮助或建议,我将不胜感激。提前谢谢。
应用程序中的用户类型将驱动您要使用的内容:
客户-使用Azure广告B2C租户合作伙伴-使用Azure AD B2b租户员工-使用您的组织Azure AD租户(Azure和Ofice365也使用(
请注意,没有什么可以阻止您在asp.net核心应用程序中使用multiply Idp,只需注册multiply应用程序并将其链接在一起即可:
services.AddAuthentication((.AddMicrosoftAccount(…(.AddGoogleAccount(
Azure应用程序服务提供了一个特殊情况,它附带了一个内置的EasyAuth模块。它将为您进行应用程序注册,您还可以在那里链接多个Idp(例如,您可以选择AAD和谷歌(,并在不更改任何代码或配置的情况下完成所有这些操作。
Azure应用程序服务刀片中的两个设置是身份验证(经典(-如果您只想进行身份验证。身份验证-如果您也想执行google API调用。
所以一定要先检查一下。