检索凭据的自定义身份验证的火力点,以自定义提供链接
问题描述:
在我火力的应用程序,用户可以登录使用检索凭据的自定义身份验证的火力点,以自定义提供链接
- 谷歌(由火力地堡联合提供商)或
- 斯莱克(如custom Auth Provider实现)
我想让用户有机会链接两个帐户。所以我开的情况是:
- 用户的迹象在与谷歌
- 用户去设置和点击“含弱连接”
- 用户的帐户应该会被链接所以他可与松弛登录或谷歌下一次
按文档,以连结帐户,您可致电联合供应商要么linkWithPopup/Redirect
或auth.currentuser.link(credential)
的电子邮件提供商(https://firebase.google.com/docs/auth/web/account-linking)。
我现在想知道我是否可以以某种方式从我的定制Slack认证中获得AuthCredential并使用上述link(credential)
方法?
是否有人成功地将帐户链接到自定义身份验证提供程序?
答
这不支持开箱即用。 你可以做如下(要求顺序的调整,主要是开关顺序):使用松弛定制权威性
- 登录:(自定义身份验证帐户这里使用的UID可能是相同的松弛的用户标识符)。
- linkWithPopup/Redirect/Credential使用Google提供商或凭据到现有的自定义用户。
如果硬要提出的流量,你可以做到以下几点:
- 在与谷歌第一(UID分配)。
- 使用Slack登录(获得松散的OAuth凭证)。
- 将Firebase ID令牌和闲置凭证发送到您的后端。
- 验证Firebase ID令牌,查询slack userinfo端点以获取松散的用户数据,包括松散标识符。
- 保存一个散列映射,其中Slack标识符作为键,Firebase uid作为值,另一个散列映射以firebase uid作为键和松散标识符作为值。
- 使用firebase uid设置自定义标记,设置松散自定义属性(松弛:{松弛标识符})。
- 向前端发送自定义令牌和signInWithCustomToken(松散标识符现在可用于令牌)
- 松弛帐户现在链接到现有帐户。
下一次用户与松弛登录:
- 发送松弛的OAuth凭据到后端。
- 查询松弛的userinfo以获取松弛标识符。
- 使用松弛标识符键检查相应的firebase uid的哈希映射。
- 使用firebase uid添加自定义标记,将松散标识添加为自定义属性。
- 使用客户端上的自定义令牌进行登录。
如果用户使用Google登录。
- 将firebase ID令牌发送到后端。
- 验证ID令牌,使用firebase uid键在哈希映射中查找相应的松弛标识符。
- 将带有Firebase uid和松弛标识符的Mint自定义标记作为自定义属性。
- 使用客户端上的自定义令牌进行登录。