2017-09-07 8 views
1

新しいフェザーアプリケーションを生成して認証を生成しました。私はまだコードを編集していない。プロミスで未知の認証

私が反応クライアントを生成するために作成反応するアプリを使用して、私はそれに加えた唯一の変更は、私は、ユーザーを認証しようとログインコンポーネントを作成します:

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>; 
    } 
    } 
} 

ログインコンポーネントとして動作します私のブラウザは、Promiseで次の例外をキャッチしていないと主張しています。

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

同じ例外がcatchブロックに記録されています。

./feathersは、daffl's feathers-chat-reactの同じファイルと本質的に同じです。

ブラウザの例外をキャッチするにはどうすればよいですか?

答えて

0

実際にユーザーを作成したときに、問題は発生しなくなりました。 I

  • が正常に
  • ログイン
  • が存在しないユーザとしてログインしようとしたユーザーを作成しました。

私が最後のステップを実行したとき、認証されたプロミスは期待通りに拒否されましたが、ブラウザはもう例外をキャッチしていないと主張しなくなりました。

関連する問題