#php #laravel
#php #laravel
Вопрос:
Используя laravel 5.2, я запускаю прослушиватель выхода из системы во время выхода из системы, который выводит пользователя из его экземпляра cognito.
Кажется, это успешно, но мне трудно заставить рабочее сообщение мигать при выходе из системы, в частности, я хочу, чтобы ответ на сообщение 200 от вызова auth ниже
Я обработал JSON на предмет ошибок при вызове конечной точки, но если часть моего блока try выполнена успешно, я получаю ответ 200 с сообщением «Пользователь успешно вышел из системы».
Как я должен правильно выводить сообщение 200 на экране входа / перенаправления после выхода из системы?
try {
$authService = new AuthService();
$authLogout = $authService->logout($logoutToken);
}catch (Exception $e) {
$response = json_decode($e->getResponse()->getBody()->getContents());
$message = $response->message;
return Redirect::back()->withErrors($message);
}
Комментарии:
1. Я не вижу использования laravel.com/docs/5.2/session#flash-data
2. $request->session()->flash(‘сообщение’, $message);
3. @MsuArven Однако я не могу использовать сеанс, потому что они выйдут из системы, уничтожив сеанс
4. @Flame Я только что добавил это в свой код, но моя проблема в том, что при выходе из системы я сбрасываю сеанс, так что это сработает? Я просто хочу сохранить сообщение 200 с моей конечной точки и отобразить на экране входа после выхода из системы
5. Просто очистите строку, прежде чем делать
session()->flash()
. Отображаемая переменная будет показана только один раз, поскольку она автоматически удаляет себя
Ответ №1:
Добавить в сеанс
session(['key' => 'value']);
Извлекать из сеанса
$value = session('key');
Ответ №2:
если вы используете rest api, вы можете записать это в своей функции выхода из системы
public function logout (Request $request)
{
$token = $request->user()->token();
$token->revoke();
$response = 'You have been succesfully logged out!';
return response(["message"=>$response], 200);
}