微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 .NET 中为 Azure AD 和 GSuite 用户配置 SSO

如何解决在 .NET 中为 Azure AD 和 GSuite 用户配置 SSO

我正在使用 .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 似乎更加以客户为中心,用户可以使用他们的社交帐户登录,也可以使用工作帐户登录。我访问了 Microsoft Docs (https://woodgrovedemo.com/Account/LogIn) 上列出的 Woodgrove 演示解决方案,并尝试使用工作帐户登录 G-Suite 帐户。但是,工作帐户必须是“Microsoft 帐户”,因此我无法对其进行签名。我还尝试使用个人帐户选项登录,但这次它不允许我使用我组织的 Microsoft 帐户登录

还有一些关于在 .NET 中配置身份验证的文章甚至没有提到 Azure AD B2B 和 B2C,如下所示:https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-v2-aspnet-core-webapp?view=aspnetcore-5.0https://docs.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 Ad B2C 租户 合作伙伴 - 使用 Azure AD B2b 租户 员工 - 使用您的组织 Azure AD 租户(Azure 和 Office365 也使用)

请注意,没有什么可以阻止您在 asp.net 核心应用程序中使用多个 Idp,只需进行多个应用程序注册并将它们链接在一起,如下所示:

services.AddAuthentication().AddMicrosoftAccount(...).AddGoogleAccount(...)

Azure 应用服务提供了一种特殊情况,它带有 EasyAuth 模块的构建。它将为您进行应用注册,并且您还可以在那里链接多个 Idp(例如,您可以同时选择 AAD 和 google),并且无需任何代码或配置更改即可完成所有这些操作。

Azure 应用服务刀片中的两个设置是 身份验证(经典) - 如果您只想进行身份验证。 身份验证 - 如果您还想进行 google API 调用。

所以一定要先检查一下。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。