You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase自定义身份提供商解绑:Unity环境下如何操作?

解决Unity Firebase自定义Twitch提供商解绑问题

核心问题原因

Firebase客户端的UnlinkFromProvider方法仅支持官方预定义的身份提供商(如邮箱、Apple、Google等),自定义提供商的关联关系存储在你自己的独立表中,Firebase Auth系统本身未记录该关联,因此传入任何自定义provider ID都会触发FirebaseException: User was not linked to an account with the given provider错误。

具体解绑步骤

  • 验证当前用户登录状态
    执行解绑前需确认用户处于登录状态,防止非法操作:

    FirebaseUser currentUser = FirebaseAuth.DefaultInstance.CurrentUser;
    if (currentUser == null) {
        // 处理用户未登录的情况
        return;
    }
    
  • 操作独立关联表删除记录
    直接从存储Twitch与Firebase用户关联关系的独立表中删除对应条目。以Firestore为例:

    // 假设关联表集合名为"twitch_user_links",文档ID为Firebase用户ID
    DocumentReference linkDoc = FirebaseFirestore.DefaultInstance.Collection("twitch_user_links").Document(currentUser.UserId);
    await linkDoc.DeleteAsync();
    
  • (可选)同步客户端本地状态
    如果客户端缓存了用户的Twitch关联状态,解绑后需更新缓存,避免界面显示异常。

注意事项

  • 切勿使用Firebase Auth官方解绑方法处理自定义提供商,该方法仅对官方注册的提供商生效。
  • 解绑操作需添加权限校验,确保只有当前用户能删除自己的关联记录,避免越权操作。

内容的提问来源于stack exchange,提问作者James Hall

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 23:15:23