Аутентификация, не полученная в обещании

Я создал новое приложение Feathers, а затем сгенерировал аутентификацию. Я еще не редактировал код.

Я использовал приложение create-response-app для создания клиента React, и единственное изменение, которое я внес в него, - это создание компонента входа в систему, который пытается аутентифицировать пользователя:

import React, { Component } from 'react';
import client from './feathers';

export default class Login extends Component {
  constructor(props) {
    super(props);
    this.state = {};
  }

  componentDidMount() {
    client.authenticate({
      strategy: 'local',
      email: '[email protected]',
      password: 'secret'
    }).then(token => {
      this.setState({ login: true });
    }).catch(error => {
      console.log(error);
      this.setState({ login: false });
    });
  }

  render() {
    if (this.state.login === undefined) {
      return <p>Logging in...</p>;
    } else if (this.state.login === true) {
      return <p>Logged in!</p>;
    } else {
      return <p>Not logged in.</p>;
    }
  }
}

Компонент входа в систему ведет себя так, как ожидалось, но мой браузер утверждает, что я не улавливаю следующее исключение в обещании:

{type: "FeathersError", name: "NotAuthenticated", message: "Invalid login", code: 401, className: "not-authenticated", …}

То же исключение регистрируется в блоке catch.

./feathers по сути то же самое, что и тот же файл в перьях daffl. -chat-реагировать.

Что мне нужно сделать, чтобы поймать исключение, о котором заявляет мой браузер?


person Jacob    schedule 07.09.2017    source источник


Ответы (1)


Когда я действительно создал пользователя, проблема больше не возникала. я

  • создал пользователя
  • успешно вошли в систему
  • попытался войти в систему как пользователь, которого не существует.

Когда я выполнил последний шаг, обещание аутентификации было отклонено, как и ожидалось, но мой браузер больше не утверждал, что я не перехватил исключение.

person Jacob    schedule 07.09.2017