【问题标题】:Firebase Authentication with Azure AD B2C使用 Azure AD B2C 进行 Firebase 身份验证
【发布时间】:2019-06-03 23:02:17
【问题描述】:

我有一个用 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 上被删除时,他们也应该在其他平台上被删除。 为此,我可以使用 Firebase Functions Triggered on Auth 事件与 Azure AD B2C 同步。对于 Azure AD B2C 回到 Firebase 身份验证,我还可以预见到可以(由 Azure AD B2C 调用)删除用户的 Firebase 函数。

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

【问题讨论】:

  • 您能详细解释一下您的要求吗?您是否尝试让同一用户在 Firebase Auth db 和 Azure AD B2C 之间同步?也许您可以使用 AD 对用户进行身份验证,然后通过 Firebase Auth 生成自定义令牌以访问 Firebase 云服务。但是,这意味着身份验证将始终首先通过 AD。
  • 首先验证 AD 正是我想要避免的,因为 MS Azure AD B2B 没有本机 SDK;它只提供 webviews 来进行注册/登录,这不是我正在寻找的用户体验。这就是为什么我提出将 Firebase 放在前面的建议(它有一个很棒的移动优先 sdk)。
  • 您对 Azure AD 使用什么类型的身份验证?
  • 电子邮件/密码、facebook、google 和linkedin
  • @HixField 你有没有找到解决方案?我正在开发通过 ADB2C 授权的 Web 应用程序的移动应用程序版本,但我发现 webview 身份验证和从 emal 复制代码是完全可笑的。我想使用 Firebase 身份验证,但以您描述的方式将其链接到 ADB2C。这可能吗?

标签: firebase firebase-authentication


【解决方案1】:

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

流程如下:

注意事项:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-25
    • 2021-03-14
    • 1970-01-01
    • 2019-11-19
    • 2018-04-12
    • 1970-01-01
    • 1970-01-01
    • 2016-05-06
    相关资源
    最近更新 更多