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

Angular集成Firebase注册功能时触发管理员权限限制错误

解决Firebase注册提示「仅管理员可操作」的问题

核心原因与修复步骤

出现FirebaseError: Firebase: This operation is restricted to administrators only. (auth/admin-restricted-operation)错误,本质是Firebase项目未开启邮箱/密码的用户注册权限:

  • 登录Firebase控制台,进入你的项目
  • 左侧菜单选择「认证」→「登录方法」
  • 找到「邮箱/密码」选项,确认其状态为「启用」,如果是禁用状态,点击启用并保存设置

代码优化建议

除了控制台设置,你的代码还有两处可以优化的地方:

  1. 认证服务逻辑问题
    当前registerUser方法中,this.authSuccessfully()在异步请求外部也执行了,这会导致不管注册是否成功都会触发该方法。修改后代码:

    registerUser(authData: AuthData){
        this.afAuth
        .createUserWithEmailAndPassword(authData.email, authData.password)
            .then(result => {
                console.log(result);
                this.authSuccessfully(); // 仅在注册成功时执行
            })
            .catch(error => {
                console.log(error);
            });      
    }
    
  2. 表单绑定问题
    HTML表单中的ngModel="email"写法错误,应该使用name="email"来指定表单控件名称,否则form.value.email可能无法正确获取输入值。修改后的输入框代码:

    <input 
        type="email"
        matInput 
        placeholder="your email address" 
        name="email"  <!-- 替换原ngModel="email"为name属性 -->
        ngModel 
        [ngModelOptions]="{standalone: true}" 
        email
        required
        #emailInput="ngModel"
    >
    

    密码输入框同理,把ngModel="password"改为name="password"。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 10:26:03