У меня проблемы с паспортом laravel.
Я пытаюсь получить некоторые данные из своего API. из собственного приложения React. он отлично работает, когда я пробую его от почтальона, но когда я делаю то же самое из своего приложения, он не работает. как придешь?
AsyncStorage.getItem('TOKEN').then(token => {
fetch(BACKEND_URL + '/api/getdata/', {
method: 'GET',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + token,
},
})
.then(response => response.json())
.then(responseJson => {
console.info(responseJson);
this.setState({
data: responseJson.data,
isLoading: false,
});
})
.catch(error => {
console.error(error);
});
});
//DataController.php
public function fetchdataAPI()
{
$user = auth('api')->user();
$data = Data::all();
return response()->json([
'data' => $data,
]);
}
//API.php
Route::group(['middleware' => 'auth:api'], function(){
Route::get('getdata','dataController@fetchDataAPI');
});
При получении данных из приложения, поддерживающего реакцию, с помощью fetch api, ответ "не аутентифицирован".
Привет, Дж. Веннергрен, я столкнулся с той же проблемой. Вы решили это?
Решением было добавить токен к URL-адресу. Как это: BACKEND_URL + '/ api / getdata /' + '? Token =' + token
у меня такая же проблема. @ Имран, ты решил это так, как он сказал?
Убедитесь, что внутренние URL-адреса совпадают, включая протоколы (проблема с SSL).
Это корректно работает локально при использовании общего доступа камердинера и использовании ссылки https. Может ли это быть проблема с SSL?