检索凭据的自定义身份验证的火力点,以自定义提供链接

问题描述:

在我火力的应用程序,用户可以登录使用检索凭据的自定义身份验证的火力点,以自定义提供链接

我想让用户有机会链接两个帐户。所以我开的情况是:

  1. 用户的迹象在与谷歌
  2. 用户去设置和点击“含弱连接”
  3. 用户的帐户应该会被链接所以他可与松弛登录或谷歌下一次

按文档,以连结帐户,您可致电联合供应商要么linkWithPopup/Redirectauth.currentuser.link(credential)的电子邮件提供商(https://firebase.google.com/docs/auth/web/account-linking)。

我现在想知道我是否可以以某种方式从我的定制Slack认证中获得AuthCredential并使用上述link(credential)方法?
是否有人成功地将帐户链接到自定义身份验证提供程序?

这不支持开箱即用。 你可以做如下(要求顺序的调整,主要是开关顺序):使用松弛定制权威性

  1. 登录:(自定义身份验证帐户这里使用的UID可能是相同的松弛的用户标识符)。
  2. linkWithPopup/Redirect/Credential使用Google提供商或凭据到现有的自定义用户。

如果硬要提出的流量,你可以做到以下几点:

  1. 在与谷歌第一(UID分配)。
  2. 使用Slack登录(获得松散的OAuth凭证)。
  3. 将Firebase ID令牌和闲置凭证发送到您的后端。
  4. 验证Firebase ID令牌,查询slack userinfo端点以获取松散的用户数据,包括松散标识符。
  5. 保存一个散列映射,其中Slack标识符作为键,Firebase uid作为值,另一个散列映射以firebase uid作为键和松散标识符作为值。
  6. 使用firebase uid设置自定义标记,设置松散自定义属性(松弛:{松弛标识符})。
  7. 向前端发送自定义令牌和signInWithCustomToken(松散标识符现在可用于令牌)
  8. 松弛帐户现在链接到现有帐户。

下一次用户与松弛登录:

  1. 发送松弛的OAuth凭据到后端。
  2. 查询松弛的userinfo以获取松弛标识符。
  3. 使用松弛标识符键检查相应的firebase uid的哈希映射。
  4. 使用firebase uid添加自定义标记,将松散标识添加为自定义属性。
  5. 使用客户端上的自定义令牌进行登录。

如果用户使用Google登录。

  1. 将firebase ID令牌发送到后端。
  2. 验证ID令牌,使用firebase uid键在哈希映射中查找相应的松弛标识符。
  3. 将带有Firebase uid和松弛标识符的Mint自定义标记作为自定义属性。
  4. 使用客户端上的自定义令牌进行登录。