【问题标题】:Checking a user exists in Azure Active Directory B2C检查 Azure Active Directory B2C 中是否存在用户
【发布时间】:2016-02-05 17:25:38
【问题描述】:

我正在创建一个新的 Azure AD B2C 身份验证站点来替换旧的 Forms Authenticated 站点。在新站点中,我要求用户最初输入他们的电子邮件地址,以便我可以检查它们是否存在于 Azure B2C 中并将它们发送到适当的登录页面,如果不将它们发送到旧的 Forms Authenticated 站点。

问题是我在遵循 Microsoft 的教程时遇到的问题是,它们显示了用户管理,但它们都要求您首先使用您的 Azure 帐户登录,显然鉴于我正在尝试构建的系统,这是不可能的。我正在做的事情可能吗?

提前致谢!

MS教程:https://azure.microsoft.com/en-gb/documentation/articles/active-directory-code-samples/

【问题讨论】:

    标签: azure azure-active-directory azure-ad-b2c


    【解决方案1】:

    遗憾的是,这在 Azure B2C 预览版中似乎是不可能的。

    在限制部分 (https://azure.microsoft.com/en-gb/documentation/articles/active-directory-b2c-limitations/) 中有一段描述了我正在尝试做的事情:

    守护程序/服务器端应用程序

    包含长时间运行的进程或在没有用户在场的情况下运行的应用程序也需要一种访问安全资源的方法,例如 Web API。这些应用程序可以使用 OAuth 2.0 客户端凭据流使用应用程序的身份(而不是消费者的委托身份)进行身份验证和获取令牌。此流程在 Azure AD B2C 预览版中尚不可用 - 也就是说,应用程序只能在交互式消费者登录流程发生后才能获得令牌

    所以目前看来这是不可能的。希望它在预览版结束后能够正常工作。

    【讨论】:

    • 但是您有用户登录到您的站点,因此这不是守护程序应用程序。
    • 但我只能访问有关当前登录的 Forms Authenticated 用户的信息。此时我需要查询该用户不能做的B2C用户。
    【解决方案2】:

    注意这一点,检查您的网站是否不易受到username enumeration 的攻击: http://www.troyhunt.com/2012/05/everything-you-ever-wanted-to-know.html

    旧用户使用基于表单的身份验证,您可以调用 Graph API 在B2C 目录中创建用户: https://azure.microsoft.com/en-us/documentation/articles/active-directory-b2c-devquickstarts-graph-dotnet/

    那么下次他们可以通过B2C登录

    【讨论】:

    • 您好,谢谢您。您所描述的是我正在尝试做的 - 本质上是在用户登录时迁移(而不是批量)。问题是如果我查看azure.microsoft.com/en-us/documentation/articles/… 这不起作用,因为它告诉我它使用了错误的 API。该页面中似乎没有这样的工作示例。
    • 您需要先将您的 Web 应用注册为 Graph API 的使用者
    • 我第一次访问图形 api 时确实遇到了问题,经过几个替代步骤后问题得到了解决。此链接可能会有所帮助。 stackoverflow.com/questions/36151730/…
    猜你喜欢
    • 2015-01-02
    • 1970-01-01
    • 1970-01-01
    • 2016-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多