Как исправить 401 несанкционированный ответ при входе в систему аутентификации

#reactjs #laravel

#reactjs #laravel

Вопрос:

У меня проблема с этим 401 несанкционированным, когда я отправляю форму в reactjs, однако, когда я использую postman, он выдает мне токен, так что мне нужно изменить в моей функции, чтобы успешно авторизовать мои учетные данные.

Я покажу вам, ребята, свой код в моей функции.

 submitLogin(event){

    event.preventDefault();

    let bodyFormData = new FormData();
    bodyFormData.set('email',this.state.email);
    bodyFormData.set('password', this.state.password);

    axios({
        method:'post',
        url:'http://127.0.0.1:8000/api/auth/login',
        data:bodyFormData,
        body: { headers: {'Content-Type': 'application/x-www-form-urlencoded', 'Accept':'application/json' }}

    }).then(function(response){
        console.log(response);
    }).catch(function (response){
        console.log(response);
    })


}
  

В моем веб:

Вывод

В моем почтальоне:

Вывод

Моя полезная нагрузка:

полезная нагрузка

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

1. Похоже, вы пытаетесь передать заголовки в теле. Также при использовании FormData вам не нужно указывать тип содержимого. Axios разбирается с этим

2. Можете ли вы показать детали DevTools для этого запроса? В частности, «Данные формы» в конце.

3. @apokryfos что вы имеете в виду под этим?

4. @Thomas хорошо, я покажу тебе

5. Отправленные имена неверны ( inpUser вместо email ). Вы уверены, что разместили правильный код?

Ответ №1:

Вам нужно использовать заголовок авторизации:

 axios.defaults.headers.common['Authorization'] = `Bearer ${access_token}` 
  

И удалите заголовки из тела запроса;

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

1. При отправке формы входа в систему токен доступа еще не указан.