![](/img/trans.png)
[英]Firebase authentication web for Yahoo INVALID_IDP_RESPONSE error
[英]Using Firebase Anonymous Authentication, error, invalid JSON
最近嘗試使用 Firebase 匿名登錄時出現以下錯誤
{"error":{"code":400,"message":"ADMIN_ONLY_OPERATION","errors":[{"message":"ADMIN_ONLY_OPERATION","domain":"global","reason":"invalid"} ]}}
我調用的函數是文檔中提供的函數
doSignInAnonymously = () => {
this.auth.signInAnonymously()
}
我不明白錯誤代碼,因為錯誤 400 表示您的請求中有無效的 JSON:
檢查 JSON 消息的格式是否正確並包含有效字段(例如,確保傳入正確的數據類型)。
我正在使用 API 提供的功能,所以我不知道我怎么會錯誤地實現它,或者當它說ADMIN_ONLY_OPERATION
時它到底意味着什么,為什么匿名登錄與管理員有任何關系?
有沒有人有過此類錯誤的經驗,或者在我使用該功能時可以看到任何明顯的錯誤?
我的 firebase.js 文件,其中包含我所有的身份驗證功能。
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()
}
調用站點的代碼:
<Button
variant="contained"
color="primary"
onClick={() => firebase
.doSignInAnonymously()
.then(({ user }) => {
localStorage.setItem(process.env.REACT_APP_LOCAL_STORAGE, JSON.stringify(user))
history.push(ROUTES.USER)
})
.catch(({ message }) => setErrMessage(message))
}
>
Continue As Guest
</Button>
localStorage.setItem(process.env.REACT_APP_LOCAL_STORAGE, JSON.stringify(user))
轉到Firebase 控制台並在身份驗證服務的登錄方法選項卡下檢查您的登錄提供商,並確保啟用了匿名。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.