首页 > 解决方案 > 如果我的 laravel 控制器 logout() 正在处理用户的注销,我是否需要清除前端的本地存储?

问题描述

我的控制器中有一个应该注销用户的功能。在前端单击注销时,它会返回一条成功消息。我的问题是,在JS方面,我需要清除本地存储吗?

我问这个是因为在成功注销后刷​​新我的页面并登陆登录屏幕(注销时,用户被从仪表板重定向到登录屏幕) - 我被发送回仪表板,这表明我的注销功能未按预期工作(或者是吗?)。

难道我做错了什么?

这是我的控制器代码:

public function logout(Request $request) {

    try {
        $this->_usersRepository->userLogout();
        $loggedOut = $this->_usersRepository->userLogout()->getStatusCode();

        if($loggedOut != 200) {
            return response()->json(['message' => 'Error while logging out!'], 500);
        }
        return response()->json([
            'message' => 'Successfully logged out',
            'loggedOut' => $loggedOut
        ]);
    } catch (\Exception $e) {
        Log::error($e->getMessage());
        throw new \Exception($e->getMessage(), $e->getCode(), $e);
    }

}

用于在数据库中删除的存储库代码oauth_access_tokens

public function userLogout() {
    DB::table('oauth_access_tokens')->where('user_id', Auth::id())->delete();
    return response()->json(['message' => 'User successfully signed out'], 200);
}

标签: phplaraveldebugging

解决方案


推荐阅读