使用 Azure AD B2C 进行 Firebase 身份验证

Hix*_*eld 5 firebase firebase-authentication

我有一个用 xCode/Swift 开发的原生 iOS 应用程序,它集成了Firebase Auth SDK,用于注册和登录新用户。Firebase 身份验证系统应链接到Azure Active Directory B2C,以便:

  • Firebase Auth 和 Azure AD B2C 中都存在创建的新用户(我猜使用相同的凭据?)
  • 当用户登录时,他/她同时在 Firebase Auth 和 Azure AD B2C 的上下文中登录,以便在两个平台上都可以进行安全调用
  • 当用户在 Azure AD B2C 或 firebase Auth 上被删除时,他们也应该在其他平台上被删除。为此,我可以使用在 Auth 事件上触发的 Firebase 函数与 Azure AD B2C 同步。对于 Azure AD B2C 返回 Firebase 身份验证,我还可以预见可以调用(由 Azure AD B2C 调用)的 Firebase 函数会删除用户。

在此处输入图片说明

经过研究,我发现 Firebase 支持“自定义令牌”(请参阅https://firebase.google.com/docs/auth/admin/create-custom-tokens)。这能提供解决方案吗?我没有看到有关创建新用户的任何信息,只有身份验证...

Max*_*nas 8

我和我的团队为围绕自定义令牌的这种确切场景开发了一个解决方案。我们的实施在 Azure 上运行了几个月,我们完全没有问题。

这是流程:

在此处输入图片说明

笔记:

  1. Azure B2C 可以被任何 STS 取代。
  2. Azure 函数可以被任何后端进程替换。

此外,好处是您不必在 Firebase 中维护用户,因为您不创建 Firebase 用户并且只使用自定义令牌,因此无需删除用户。