【发布时间】:2021-10-02 19:21:26
【问题描述】:
我最近更新到 firebase 8,以及相关的部门,包括 firebaseui 4.8.1(我尝试了几个版本,他们都给我这个错误)。它加载了一个登录框,但是在尝试输入凭据或创建新用户时,出现此错误:
updateCurrentUser 失败:第一个参数“user”必须是 Firebase User 的实例或 null。
如何恢复身份验证功能?
firebase.js
import firebase from 'firebase/firebase';
import '@firebase/firestore';
import { FIREBASE_CONFIG } from '../keys';
const config = FIREBASE_CONFIG;
export const firebaseApp = firebase.initializeApp(config);
export const db = firebaseApp.firestore();
/store/index.js(略)
import firebase from 'firebase/firebase';
import * as firebaseui from 'firebaseui';
import '@firebase/firestore';
// This is our firebaseui configuration object
const uiConfig = ({
signInSuccessUrl: '',
signInOptions: [
firebase.auth.EmailAuthProvider.PROVIDER_ID,
],
callbacks: {
signInSuccessWithAuthResult: authResult => {
store.dispatch(login(authResult));
},
},
});
// This sets up firebaseui
const ui = new firebaseui.auth.AuthUI(firebase.auth());
// This adds firebaseui to the page
export const startFirebaseUI = elementId => {
ui.start(elementId, uiConfig);
};
package.json
"firebase": "^8.8.0"
"firebaseui": "^4.8.1",
我已经尝试了这些讨论中建议的解决方案,但它们对我不起作用。 https://github.com/firebase/firebaseui-web/issues/536 https://github.com/firebase/firebaseui-web/issues/776
我也在控制台中看到了一个有效的身份验证响应。这是verifyPassword 的回复:
{
"kind": "identitytoolkit#VerifyPasswordResponse",
"localId": "VgZWszYv8cYDJLQsIr3YzwcZJ4s1",
"email": "user@gmail.com",
"displayName": "My User",
"idToken": "<<a_long_token>>",
"registered": true,
"refreshToken": "<<another_token>>",
"expiresIn": "3600"
}
这是 getAccountInfo 响应:
{
"kind": "identitytoolkit#GetAccountInfoResponse",
"users": [
{
"localId": "VgZWszYv8cYDJLQsIr3YzwcZJ4s1",
"email": "user@gmail.com",
"displayName": "Me",
"passwordHash": "<<a hash>>",
"emailVerified": false,
"passwordUpdatedAt": 1561313504412,
"providerUserInfo": [
{
"providerId": "password",
"displayName": "Me",
"federatedId": "user@gmail.com",
"email": "user@gmail.com",
"rawId": "user@gmail.com"
}
],
"validSince": "1561313504",
"lastLoginAt": "1627418219738",
"createdAt": "1561313504412",
"lastRefreshAt": "2021-07-27T20:36:59.738Z"
}
]
}
【问题讨论】:
标签: javascript firebase-authentication firebaseui