使用Firebase匿名身份验证,错误,无效的JSON

Ste*_*726 9 javascript firebase firebase-authentication

最近,当尝试使用Firebase匿名登录时,出现以下错误

{“错误”:{“代码”:400,“消息”:“ ADMIN_ONLY_OPERATION”,“错误”:[[“消息”:“ ADMIN_ONLY_OPERATION”,“域”:“全局”,“原因”:“无效”} ]}}

我正在调用的功能是文档中提供的功能

doSignInAnonymously = () => {

   this.auth.signInAnonymously()
}
Run Code Online (Sandbox Code Playgroud)

我不理解错误代码,因为错误400表示您的请求中的JSON无效:

检查JSON消息的格式是否正确,并包含有效的字段(例如,确保传入正确的数据类型)。

我使用的是API提供的功能,所以我不知道如何实现错误,或者说它到底是什么意思ADMIN_ONLY_OPERATION,为什么匿名登录与管理员有关系?

是否有人对这种类型的错误有任何经验,或者在使用此功能时可以看到任何明显的错误?

我拥有所有身份验证功能的firebase.js文件。

doSignInAnonymously = () => {

   this.auth.signInAnonymously()
}
Run Code Online (Sandbox Code Playgroud)

呼叫站点的代码:

import app from 'firebase/app'
import 'firebase/auth'
import 'firebase/database'
import * as firebase from 'firebase';

const config = {
  apiKey: process.env.REACT_APP_API_KEY,
  authDomain: process.env.REACT_APP_AUTH_DOMAIN,
  databaseURL: process.env.REACT_APP_DATABASE_URL,
  projectId: process.env.REACT_APP_PROJECT_ID,
  storageBucket: process.env.REACT_APP_STORAGE_BUCKET,
  messagingSenderId: process.env.REACT_APP_MESSAGING_SENDER_ID,
}

class Firebase {
  constructor() {
    app.initializeApp(config);

    /* Helper */

    this.fieldValue = app.firestore.FieldValue;
    this.emailAuthProvider = app.auth.EmailAuthProvider;

    /* Firebase APIs */

    this.auth = app.auth();
    this.db = app.firestore();
  }

  // *** Auth API ***

  // eslint-disable-next-line max-len
  doCreateUserWithEmailAndPassword = (email, password) => this.auth.createUserWithEmailAndPassword(email, password)

  // eslint-disable-next-line max-len
  doSignInWithEmailAndPassword = (email, password) => this.auth.signInWithEmailAndPassword(email, password)

  doSignInAnonymously = () => {

    this.auth.signInAnonymously()
  }

Run Code Online (Sandbox Code Playgroud)
  • 我尝试删除以下行,因为该错误与格式错误的JSON有关,但这似乎无济于事。
localStorage.setItem(process.env.REACT_APP_LOCAL_STORAGE, JSON.stringify(user))
Run Code Online (Sandbox Code Playgroud)

Tal*_*ion 19

转到Firebase 控制台并在身份验证服务的登录方法选项卡下检查您的登录提供商,并确保启用匿名

  • 这应该被标记为正确的响应 (2认同)