是否建议面向客户的应用程序使用 Azure Active Directory 进行身份验证?
Is using Azure Active Directory for authentication recommended for customer facing applications?
我们正在 Azure 中为面向客户的 Web 和移动(本机)应用程序构建后端。最初的计划是使用 Azure AD 来管理用户凭据和身份验证。但是,正如我一直在研究的那样,我发现了以下三件事,这些事情向我强烈表明 Azure AD 不适用于面向客户的应用程序中的身份验证。
- 推荐的登录方法是重定向到 Azure AD 登录页面。该页面可以在某种程度上使用公司品牌进行定制,但该品牌甚至不会在所有情况下都显示。这种登录方法对于公司内部工具来说很好,但对于面向客户的应用程序来说似乎很俗气;特别是如果该应用程序是本机移动应用程序。在下面的 link 中讨论了这个问题和潜在的解决方法,但解决方法感觉像是一个 hack,并且似乎与已发布的关于该主题的所有文档相矛盾。
https://vincentlauzon.com/2017/01/29/authenticating-to-azure-ad-non-interactively/
Azure AD 身份验证要求所有用户都拥有一个 Microsoft 帐户,如果我的客户还没有 Microsoft 帐户或者他们想使用电子邮件,我不想要求他们创建一个 Microsoft 帐户我的应用程序的地址与他们的 Microsoft 帐户使用的电子邮件不同。
似乎没有一种好方法可以允许使用来自任何域的电子邮件地址创建用户。我可以将我的所有客户视为 Active Directory 中的 "Guest Users",但每次我想在 Azure AD 中创建新用户时,我都必须使用 Active Directory 电子邮件邀请系统。这不是我的选择。
我是否正确陈述了这些事实?我认为 Azure AD 不是为面向客户的应用程序存储用户凭据的好选择,我的结论是否正确?如果是,对于后端托管在 Azure 中的面向客户的应用程序,推荐的处理身份验证的方法是什么?
非常感谢您的所有回复!我找不到关于这个主题的任何讨论!
对于您的场景,我建议您将 Azure AD B2C 用于面向客户的应用程序。
1.对于用户界面
您还可以使用页面 UI 自定义功能来自定义任何策略的外观。
2。对于不同的国内流离失所者
An identity provider is a service that authenticates customer
identities and issues security tokens. In Azure AD B2C, you can
configure a number of identity providers in your tenant, such as a
Microsoft account, Facebook, or Amazon among others.
3.For 使用来自任何域的电子邮件地址创建用户
用户可以使用 Azure AD B2C 注册任何域的任何电子邮件地址。这些由用户创建的注册帐户将是本地帐户并由 Azure AD B2C 存储。
总体而言,Azure AD 用于组织。如果您想直接向客户保护您的应用程序,Azure AD B2C 绝对是更好的选择 choice.There Azure AD B2C 中有许多功能,您可以参考 the official document 了解更多详情。
我们正在 Azure 中为面向客户的 Web 和移动(本机)应用程序构建后端。最初的计划是使用 Azure AD 来管理用户凭据和身份验证。但是,正如我一直在研究的那样,我发现了以下三件事,这些事情向我强烈表明 Azure AD 不适用于面向客户的应用程序中的身份验证。
- 推荐的登录方法是重定向到 Azure AD 登录页面。该页面可以在某种程度上使用公司品牌进行定制,但该品牌甚至不会在所有情况下都显示。这种登录方法对于公司内部工具来说很好,但对于面向客户的应用程序来说似乎很俗气;特别是如果该应用程序是本机移动应用程序。在下面的 link 中讨论了这个问题和潜在的解决方法,但解决方法感觉像是一个 hack,并且似乎与已发布的关于该主题的所有文档相矛盾。
https://vincentlauzon.com/2017/01/29/authenticating-to-azure-ad-non-interactively/
Azure AD 身份验证要求所有用户都拥有一个 Microsoft 帐户,如果我的客户还没有 Microsoft 帐户或者他们想使用电子邮件,我不想要求他们创建一个 Microsoft 帐户我的应用程序的地址与他们的 Microsoft 帐户使用的电子邮件不同。
似乎没有一种好方法可以允许使用来自任何域的电子邮件地址创建用户。我可以将我的所有客户视为 Active Directory 中的 "Guest Users",但每次我想在 Azure AD 中创建新用户时,我都必须使用 Active Directory 电子邮件邀请系统。这不是我的选择。
我是否正确陈述了这些事实?我认为 Azure AD 不是为面向客户的应用程序存储用户凭据的好选择,我的结论是否正确?如果是,对于后端托管在 Azure 中的面向客户的应用程序,推荐的处理身份验证的方法是什么?
非常感谢您的所有回复!我找不到关于这个主题的任何讨论!
对于您的场景,我建议您将 Azure AD B2C 用于面向客户的应用程序。
1.对于用户界面
您还可以使用页面 UI 自定义功能来自定义任何策略的外观。
2。对于不同的国内流离失所者
An identity provider is a service that authenticates customer identities and issues security tokens. In Azure AD B2C, you can configure a number of identity providers in your tenant, such as a Microsoft account, Facebook, or Amazon among others.
3.For 使用来自任何域的电子邮件地址创建用户
用户可以使用 Azure AD B2C 注册任何域的任何电子邮件地址。这些由用户创建的注册帐户将是本地帐户并由 Azure AD B2C 存储。
总体而言,Azure AD 用于组织。如果您想直接向客户保护您的应用程序,Azure AD B2C 绝对是更好的选择 choice.There Azure AD B2C 中有许多功能,您可以参考 the official document 了解更多详情。