Active Directory B2C 可以使用本机 Facebook 应用程序而不是 webview 吗?

Posted

技术标签:

【中文标题】Active Directory B2C 可以使用本机 Facebook 应用程序而不是 webview 吗?【英文标题】:Can Active Directory B2C use the Native Facebook App instead of webview? 【发布时间】:2020-01-07 03:18:53 【问题描述】:

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

有什么方法可以利用原生 Facebook 登录吗?这会使登录和注册更加用户友好?

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

【问题讨论】:

【参考方案1】:

您可以将 ROPC 流与 AD B2C 结合使用来实现相同的目的。

资源所有者密码凭证 (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

希望对你有帮助。

【讨论】:

我会检查这个答案,但同时仍然想看看在没有 ROPC 的情况下这是否可能,因为 ROPC 引入了其他问题。谢谢。

以上是关于Active Directory B2C 可以使用本机 Facebook 应用程序而不是 webview 吗?的主要内容,如果未能解决你的问题,请参考以下文章

Azure Active Directory B2C - 更改通知

通过用户的自定义属性搜索 Active Directory B2C

Azure Active Directory B2C 中的按组授权

Azure B2C 来宾(外部 Azure Active Directory)X 成员(联合 Azure Active Directory)

使用 Active Directory 图形客户端删除 AAD B2C 中的用户

基于事件驱动架构构建微服务第16部分:Azure Active Directory B2C