Проверка авторизованного и неавторизованного пользователя (JWT ReactJS-Laravel) - PullRequest
0 голосов
/ 02 октября 2018

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

Ошибка на моей консоли:

POST http://localhost:8000/api/auth/login 401 (не авторизовано)

Uncaught (в обещании) Ошибка: запрос не выполнен с кодом состояния 401

Моя цель: Чтобы перенаправить на другие страницы, если пользователь действителен, тогда, если он недействителен, пользователь, который вводит данные, останется на странице входа.

Я использую Axios.post, чтобы сделать запрос

У меня здесь кнопка handleSubmit:

handleSubmit(e) {
    e.preventDefault();

    axios.post('/api/auth/login',this.state).then(response => {
        const token_id = response.data.access_token;
        const responsed = response.data;
        // localStorage.setItem('token', token_id);
        console.log(responsed);
    });



}

И это моя функция, которая по умолчанию из документации JWT:

public function login(Request $request)
{
    $credentials = $request->only('email', 'password');

    if ($token = $this->guard()->attempt($credentials)) {
        return $this->respondWithToken($token);
    }

    return response()->json(['error' => 'Unauthorized'], 401);
}

1 Ответ

0 голосов
/ 02 октября 2018

Для проверки пользователя, который авторизуется

Я просто добавляю условие.

handleSubmit(e) {
    e.preventDefault();

    axios.post('/api/auth/login',this.state).then(response => {

        const token_id = response.data.access_token;


        localStorage.setItem('token', token_id);
        var get_token = localStorage.getItem('token');

        if(get_token === null)
        {   
            return <Redirect to='/login'  />
        }
        else
        {
            this.props.history.push('/hiflyer-dashboard');
        }

    }).catch((error) =>{
        if(error.response)
        {
            alert('Invalid');
        }
    })



}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...