Firebase中能否将Google认证登录的用户添加至用户列表?
问题原因与解决方案
Firebase默认没有单独的「开启第三方登录用户同步到用户列表」的配置项,Google登录的用户没有出现在列表中,是登录流程没有走完全导致的,按以下步骤排查即可:
- 第一步:确认Firebase控制台配置
进入Firebase控制台「Authentication」→「登录方式」页面,确认已经启用Google登录提供方,且保存的配置参数和你Xamarin项目里集成的Google服务配置完全一致。 - 第二步:修正Xamarin端登录逻辑
你大概率只完成了Google本地授权,没有把授权凭证提交给Firebase做校验,正确完整流程如下:- 调用Google登录SDK获取授权后的
IdToken参数 - 生成Firebase可识别的授权凭据:
var firebaseCredential = GoogleAuthProvider.GetCredential(你的Google返回的IdToken, null);- 调用Firebase Auth的登录接口完成最终认证:
只要走完这一步,Google登录的用户会自动写入Firebase Authentication的用户列表,和邮箱注册的用户在同一个列表中,生成的uid全局唯一,直接用来存储用户对应数据即可。var authResult = await FirebaseAuth.Instance.SignInWithCredentialAsync(firebaseCredential); - 调用Google登录SDK获取授权后的
你提到的用户列表参考图如下:
内容的提问来源于stack exchange,提问作者Mercyfon
相关产品推荐
相关产品推荐


