首页 > 解决方案 > Active Directory B2C 可以使用本机 Facebook 应用程序而不是 webview 吗?

问题描述

我们构建了两个使用 AADB2C 的原生应用程序(1 个 Android 和 1 个 iOS)。当用户需要登录/注册时,他们会通过一系列 AADB2C webviews。我们还通过在 AADB2C 中配置 Facebook 应用程序启用了通过 Facebook 的社交登录。这很有效,就像用户可以使用 Facebook 登录一样,但这也是在 web 视图中完成的,这意味着他们需要在此处明确输入登录名和密码。

有没有办法利用原生 Facebook 登录?这将使登录和注册更加用户友好?

顺便说一句:Firebase Auth 通过从 web 视图触发 Facebook 应用程序来实现这一点 - 所以它应该是可能的。

标签: androidiosfacebookazure-ad-b2c

解决方案


您可以使用带有 AD B2C 的 ROPC 流来实现相同的目的。

资源所有者密码凭证 (ROPC) 流程是一个 OAuth 标准身份验证流程,其中应用程序(也称为依赖方)交换有效凭证(例如用户 ID 和密码)以获取 ID 令牌、访问令牌和刷新令牌。

在此处输入图像描述

这是相同的公告:

https://twitter.com/codemillmatt/status/994927109503160320?s=21

在 Azure Active Directory (Azure AD) B2C 中,支持以下选项:

  • Native Client:身份验证期间的用户交互发生在代码在用户端设备上运行时。该设备可以是在原生操作系统(如 Android)中运行或在浏览器(如 JavaScript)中运行的移动应用程序。
  • 公共客户端流程:仅由应用程序收集的用户凭据在 API 调用中发送。不发送应用程序的凭据。
  • 添加新声明:可以更改 ID 令牌内容以添加新声明。

参考:

https://docs.microsoft.com/en-us/azure/active-directory-b2c/configure-ropc

https://docs.microsoft.com/en-us/azure/active-directory-b2c/configure-ropc#implement-with-your-preferred-native-sdk-or-use-app-auth

希望能帮助到你。


推荐阅读