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

Xamarin C# 使用FirebaseAuth注册用户返回INVALID_EMAIL错误如何解决

问题排查与解决方案

根因定位

从返回的报错信息可以直接看到错误类型为INVALID_EMAIL,查看请求参数可以发现你提交的邮箱值末尾携带了一个换行符,不符合邮箱格式规范,被Firebase服务端校验拦截:

{"email":"18014384@vcconnect.co.za\n","password":"pass123","returnSecureToken":true}

修复步骤

  • 第一步:输入取值时先清理首尾空白字符,修改注册接口的传参代码,对邮箱、密码字段都调用Trim()方法去除空格、换行、制表符等隐形空白字符:
    将原有代码行
var auth = await authProvider.CreateUserWithEmailAndPasswordAsync(txtEmail.Text, txtPassword.Text);

修改为:

var auth = await authProvider.CreateUserWithEmailAndPasswordAsync(txtEmail.Text.Trim(), txtPassword.Text.Trim());
  • 第二步:新增前端预校验逻辑,在发送请求前先判断邮箱格式是否合规,减少无效请求:
// 注册逻辑前先做格式校验
string email = txtEmail.Text?.Trim() ?? string.Empty;
string password = txtPassword.Text?.Trim() ?? string.Empty;

if (!System.Text.RegularExpressions.Regex.IsMatch(email, @"^[^@\s]+@[^@\s]+\.[^@\s]+$"))
{
    await App.Current.MainPage.DisplayAlert("提示", "请输入正确的邮箱格式", "确定");
    return;
}
if (password.Length < 6)
{
    await App.Current.MainPage.DisplayAlert("提示", "密码长度不能少于6位", "确定");
    return;
}
  • 第三步:如果修改后仍有报错,可按以下顺序排查其他可能问题:
    • 确认FirebaseConfig初始化使用的WebAPIkey和Firebase控制台对应项目的Web API密钥完全一致
    • 登录Firebase控制台,进入「身份验证」-「登录方式」页面,确认「电子邮件/密码」登录选项已启用
    • 检查项目中安装的Firebase Auth相关Nuget包版本,确保和其他Firebase依赖包版本匹配,避免版本兼容冲突

效果验证

完成以上修改后重新触发注册操作,即可正常完成用户注册,获取到Firebase返回的身份令牌。


内容的提问来源于stack exchange,提问作者Sanele Mkhonza

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 03:06:01