Почему появляется ошибка авторизации firebase?

#reactjs #firebase #google-cloud-firestore #firebase-authentication #redux-firestore

#reactjs #firebase #google-облако-firestore #firebase-аутентификация #redux-firestore

Вопрос:

Я не понимаю, почему у меня эта ошибка:

 auth.js:204 POST https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyPassword?key=AIzaSyApbrATkWmIfa0wkxIC9105e4K46ytzI4g 400
  

Это происходит, когда, например, я ввожу правильный адрес электронной почты и неправильный пароль при входе в систему или когда я регистрирую нового пользователя по электронной почте, которая уже используется.

 import firebase from 'firebase/app'

import { IUser } from '../models/user'
import { authTypes } from '../store/reducers/authReducer'

export function signIn(
  credentials: IUser
): (dispatch: Function, getState: object) => void {
  return (dispatch: Function, getState: object) => {
    firebase
      .auth()
      .signInWithEmailAndPassword(credentials.email, credentials.password)
      .then((res) => {
        console.log(res)
        dispatch({ type: authTypes.LOGIN })
      })
      .catch((err): any => {
        dispatch({ type: authTypes.LOGIN_ERR, payload: err.message })
      })
  }
}

export function signUp(
  newUser: IUser
): (
  dispatch: Function,
  getState: object,
  { getFirestore }: { getFirestore: any }
) => void {
  return (
    dispatch: Function,
    getState: object,
    { getFirestore }: { getFirestore: any }
  ) => {
    const firestore = getFirestore()

    firebase
      .auth()
      .createUserWithEmailAndPassword(newUser.email, newUser.password)
      .then(res => {
        return firestore.collection('users').doc(res?.user?.uid).set({
          firstName: newUser.firstName,
          lastName: newUser.lastName,
        })
      }).catch((err): any => {
      dispatch({ type: authTypes.SIN_UP_ERR, payload: err.message })
    })
  }
}

export function signOut(): (dispatch: Function, getState: object) => void {
  return (dispatch: Function, getState: object) => {
    firebase
      .auth()
      .signOut()
      .then(() => {
        console.log()
      })
  }
}
  

И вот правила, установленные на моей firebase:
правила firebase

Также для примера я привожу часть компонента Login:

 const Login = () => {
  const auth = useSelector((state: RootState) => state.firebase.auth)
  const authP = useSelector((state: RootState) => state.auth.authErrorLogin)

  const history = useHistory()
  const dispatch = useDispatch()

  const { handleSubmit, handleChange, state, errors } = useForm(
    submit,
    validateFormRegister2
  )

  function submit() {
    dispatch(signIn(state as IUser))
    history.push('/')
  }
***
  

ПОЖАЛУЙСТА, ПОМОГИТЕ…
Перехвачена ошибка о неправильном пароле, но также в консоль вводится ошибка, которая указана в этом сообщении.

Комментарии:

1. похоже, вы спрашиваете, почему firebase возвращает ошибку, когда пользователь вводит неверный пароль или пытается создать пользователя с уже использованным электронным письмом — все это звучит точно так, как это должно работать для меня. Или я пропустил вопрос?

2. Я перехватываю ошибки (см. Указанный код), но эта ошибка все еще отображается.

3. похоже, что когда вы получаете сообщение об ошибке от firebase, вы отправляете его в Redux (или какой-либо другой редуктор), и я полагаю, что ваш компонент входа в систему отображает ошибки из этого редуктора, но у вас нет общего доступа к этому коду.