Что нужно сдать для выхода из паспорта - PullRequest
0 голосов
/ 15 октября 2019

Использование паспорта для токена доступа и токена обновления. Для функции выхода из системы, что должно быть отправлено / получено и какой будет URL?

API Route:

 Route::group([
      'middleware' => 'auth:api'
    ], function() {
        Route::get('logout', 'api\LoginController@logout');
    });
public function logout(Request $request)
    {
        $request->user()->token()->revoke();
        return $this->loggedOut($request);
    }
  1. URL: http://localhost:8000/api/auth/logout ?? ?
  2. Что следует публиковать для этого URL?

1 Ответ

0 голосов
/ 15 октября 2019

Если у вас префикс auth , это должен быть правильный маршрут выхода из системы. Если нет, удалите auth из URL.

Токен должен присутствовать в axios заголовках , поскольку маршрут выхода из системы находится под auth: api middleware, и вы отзовете его в методе выхода из системы.

Фрагменты кода в соответствии с запросом в комментарии

После входа в систему вы добавляете токен вЗаголовки axios

axios.defaults.headers['Authorization']='Bearer ' + token;
axios.defaults.headers['Content-Type']='application/json';

Когда вы делаете запрос на выход из системы

axios.get('/api/auth/logout')
    .then(response => {
        localStorage.removeItem("token");
        localStorage.removeItem("token_type");
        delete axios.defaults.headers['Authorization'];
    }).catch(error=> {
});

И в вашем методе выхода из системы в контроллере вы отзываете токен пользователя

$request->user()->token()->revoke();
return response()->json([
   'message' => 'Successfully logged out'
]);
...