【问题标题】:AppAuth with Azure AD B2CAppAuth 与 Azure AD B2C
【发布时间】:2017-05-16 00:37:20
【问题描述】:

我在 Azure AD 中配置了 B2C 服务,并将 Google 作为身份验证提供程序包含在内,但发现 Google 不允许通过嵌入式 Web 视图进行身份验证请求。然后我找到了 AppAuth,但我很难让示例 iOS 应用正常运行。

我遇到的问题与重定向 uri 有关。为原生应用程序使用 AAD 提供的重定向 uri 会导致 Safari Mobile 出现错误。我尝试添加一个自定义重定向 uri,该 uri 将重定向到我的 iOS 应用程序,但不能,因为它在 azure 广告配置中验证失败,因为它不在 https url 方案中。

是否可以将 AppAuth 与 Azure AD B2C 结合使用?有什么方法可以正确配置它还是需要在 MS 端进行更改?

编辑

我有 Azure AD B2C 设置和工作,包括 Google 帐户登录。这在网络浏览器中按预期工作,但是当我尝试使用嵌入式 web 视图从 iOS 登录 Google 时,我得到 disallowed_useragent。研究这个我遇到了AppAuth库,我认为这是一个安全的解决方案,除了由于重定向问题它不适用于B2C,或者至少我还没有找到一种方法来完成这项工作.

我希望我需要能够在 B2C 中提供一个重定向 URL,该 URL 对我在 iOS 上的应用程序是唯一的,以便 SFSafariViewController 可以重定向回我的应用程序。在 B2C 中使用 Web 配置似乎是正确的方法,但它需要使用 https 而不是自定义方案。

有没有办法为自定义重定向 URI 配置 B2C?

【问题讨论】:

    标签: azure-active-directory appauth


    【解决方案1】:

    Azure AD B2C 支持 Web 应用、移动应用(例如 iOS 和 Android)以及本机应用。

    要将 Google 帐户与 Azure AD B2C 集成,您需要转到 Google Developers Console 创建应用程序。然后将 Google 配置为 Azure AD B2C 中的身份提供者。详情请参考以下链接。

    https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-setup-goog-app

    然后,您需要向 Azure AD B2C 租户注册应用程序。如果应用程序是移动或原生应用程序,例如 iOS,您可以选择它作为具有指定重定向 URI 的 Native Client 进行配置。您可以参考以下链接进行申请注册。

    要在您的应用程序上启用登录,您还需要创建登录策略。该策略描述了消费者在登录期间将经历的体验以及应用程序在成功登录时将收到的令牌内容。更多详情,请参考以下链接。

    https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-reference-policies

    顺便说一句,您还可以参考以下链接获取有关构建 iOS 应用程序的示例。

    https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-ios

    【讨论】:

    • 感谢您提供的信息,但我已经完成了这些步骤。我正在寻找与 AppAuth 集成相关的信息。
    【解决方案2】:

    我是 AppAuth 的主要维护者。

    由于 Microsoft 当前将重定向 URI 方案限制为 https,因此在 iOS 上您有两种选择:

    1. 为您的应用配置Universal Link,以便向操作系统注册以处理对特定 https 域的请求。这是最安全的选项,因为它可以防止设备上的任何其他应用程序尝试注册相同的链接。但是,此选项仅适用于 iOS 9+。

    2. 创建一个捕获授权响应参数的中间页面,然后将这些参数转发到您的自定义方案 URI。我维护了一个这样做的 Android 演示,其中包括 Microsoft 集成,here。不幸的是,中间页面确实需要用户额外点击。

    【讨论】:

    • 感谢您的建议。我想要 SFSafariViewController 和 Chrome 自定义选项卡的安全性以及良好的用户体验。似乎使用 Azure AD B2C 意味着我要么不使用改进的安全性,要么不使用 B2C。您知道 Microsoft 计划何时解决此问题以及将如何解决?
    • 很遗憾,我在 Microsoft 没有任何联系人;如果您是 Azure 付费客户,我建议您联系支持人员并直接向他们询问这个问题。如果不出意外,它可能会添加另一个 +1 以更好地支持 OAuth for 2.0 for Native Apps 的建议:tools.ietf.org/html/draft-ietf-oauth-native-apps-07
    猜你喜欢
    • 2017-01-09
    • 2019-06-26
    • 2020-04-30
    • 2019-10-12
    • 2018-01-12
    • 1970-01-01
    • 2020-08-26
    • 2023-03-06
    • 1970-01-01
    相关资源
    最近更新 更多