如何使用JWT注册laravel Multi Auth

时间:2018-01-01 23:39:27

标签: php restful-authentication laravel-5.5 jwt-auth

我需要帮助。我使用JWT-Auth

成功地在laravel中设置了多个auth

在登录功能中,我把这个链接和它的工作完美无缺。

Config::set('jwt.user', 'App\Models\User');
Config::set('auth.providers.users.model', \App\Models\User::class); 

但是在Logout功能中我放了相同的线但它不适用于注销功能。它的说法没有找到用户模型。 这是注销功能。

public function logout(Request $request)
{
    $this->validate($request, ['token' => 'required']);
    try {
        //Set Multi Auth Configs
        Config::set('jwt.user', 'App\Models\User');
        Config::set('auth.providers.users.model', \App\Models\User::class);

        JWTAuth::invalidate($request->input('token'));
        return $this->sendResponse('','successfully logged out');
    } catch (JWTException $e) {
        // something went wrong whilst attempting to encode the token
        return $this->sendError('Failed to logout, please try again.', '', 500);
    }
}

有什么方法可以解决这个问题吗?谢谢

1 个答案:

答案 0 :(得分:0)

  public function logout(Request $request) {
        $this->validate($request, ['token' => 'required']);
        try {
            JWTAuth::invalidate($request->input('token'));
            return response()->json(['success' => true]);
        } catch (JWTException $e) {
            return response()->json(['success' => false, 'error' => 'Failed to logout, please try again.'], 500);
        }
    }