Я работаю над мобильным приложением и теперь я подключаю свое приложение к серверу через API каждый раз, когда пытаюсь выполнить действия, требующие аутентификации пользователей, я получаю ошибку 401
, в то время как то же действие с postman
выполняет работу без проблем.
Что я сделал
- сохраненный токен на локальном хранилище устройства
- извлек этот токен и отправил его в качестве заголовка запроса на сервер
- Дополнительно добавлено
'Accept': 'application/json, text/plain',
к заголовку запроса - Добавлен этот пакет для открытия моего внутреннего источника CROS.
Код
app
logout() {
const headers = new HttpHeaders({
'Accept': 'application/json, text/plain',
'Authorization': this.token["token_type"] + " " + this.token["access_token"]
});
return this.http.post(this.env.BASE_URL + '/logout', { headers: headers })
.pipe(
tap(data => {
this.storage.remove("token");
this.isLoggedIn = false;
delete this.token;
return data;
})
)
}
route (back-end)
Route::group(['middleware' => 'auth:api'], function(){
Route::post('logout', 'Api\AuthController@logout');
});
controller (back-end)
public function logout(Request $request)
{
$request->user()->token()->revoke();
return response()->json([
'message' => 'Successfully logged out'
]);
}
Для этого примера я поделился своим методом выхода из системы другими методами, такими как обновление, удаление, магазин имеют ту же структуру.
Результаты
Есть идеи?