Laravel Паспорт как правильно авторизоваться и выйти из системы? - PullRequest
0 голосов
/ 05 мая 2020

У меня есть основной и сторонний тестовые сайты. На основном сайте я сделал настраиваемый контроллер входа в систему и разместил его в сети (потому что redirect- >tended () не работает в api). Насколько я понимаю, после успешного входа в систему пользователь сохраняется в сеансе. Из-за этого, если пользователь хочет выйти из системы на стороннем сайте, он будет немедленно перенаправлен на страницу авторизации на основном сайте, но из-за сеанса он автоматически войдет в систему и вернется на сторонний сайт. сайт без возможности выбора другой учетной записи. Что нужно сделать, чтобы пользователь мог выйти из системы на стороннем сайте (сторонние сайты являются частью основного сайта, а пользователь может входить только с основного сайта)? И есть ли способ разместить маршруты входа и выхода в api?

контроллер входа в систему

  if(!Auth::attempt($credentials))
            return response()->json([
                'message' => 'Unauthorized'
            ], 401);
        $user = $request->user();
        $tokenResult = $user->createToken('Personal Access Token');
        $token = $tokenResult->token;
        $token->save();
        return (['redirect' => redirect()->intended('/')->getTargetUrl()]);

выход (но это не работает)

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