不支持开箱即用。
您可以做的是以下(需要调整订单,主要是切换订单):
- 使用slack使用自定义身份验证登录:(自定义身份验证帐户中使用的uid可能与松弛用户标识符相同)。
- linkWithPopup / Redirect / Credential使用Google提供程序或凭据到现有的自定义用户。
醇>
如果您坚持提议的流程,您可以执行以下操作:
- 先使用Google登录(已分配uid)。
- 使用Slack登录(获得松弛的OAuth凭证)。
- 将Firebase ID令牌和闲置凭证发送到您的后端。
- 验证Firebase ID令牌,查询slack userinfo端点以获取松弛的用户数据,包括松弛标识符。
- 使用Slack标识符作为键并使用Firebase uid作为值保存哈希映射,另一个哈希映射使用firebase uid作为键,松弛标识符作为值。
- 使用firebase uid设置自定义标记,设置松弛自定义属性(slack:{Slack Identifier})。
- 将自定义令牌发送到前端并且signInWithCustomToken(现在可以在令牌中使用松弛标识符)
- 松弛帐户现已链接到现有帐户。
醇>
下次用户使用Slack登录时:
- 将松散的OAuth凭据发送到后端。
- 查询slack userinfo以获取松弛标识符。
- 使用相应的firebase uid的松弛标识符键检查哈希映射。
- 使用firebase uid的Mint自定义标记,将松弛标识符添加为自定义属性。
- 使用客户端上的自定义令牌登录。
醇>
如果用户使用Google登录。
- 将firebase ID令牌发送到后端。
- 验证ID令牌,使用firebase uid键在哈希映射中查找相应的松弛标识符。
- 使用Firebase uid和slack标识符作为自定义属性的Mint自定义令牌。
- 使用客户端上的自定义令牌登录。
醇>