JWT身份验证未正确删除令牌

时间:2016-07-20 17:59:32

标签: php laravel authentication token jwt

我正在做一个Laravel 5项目并使用JWT对用户进行身份验证。一切似乎工作正常,但随着我深入到项目中,我注意到注销或登录似乎没有正常工作。会发生什么事情,当我登录时,它会像刷新页面一样无效令牌错误。然后它工作正常。在注销并以另一个用户身份重新登录时,它就像用户1仍然登录一样,直到刷新页面。然后它显示用户2已登录。

以下是登录功能:

function login(email, password, onSuccess, onError){

    $http.post('/api/auth/login', 
    {
        email: email,
        password: password
    }).
    then(function(response) {
        localStorageService.remove('token');
        localStorageService.set('token', response.data.token);
        onSuccess(response);

    }, function(response) {

        onError(response);

    });

}

和注销:

function logout(){
    localStorageService.remove('token');
}

另一个例子,我在这里使用JWT检查当前用户,然后从数据库返回他们的个人资料信息:

public function index()
{
    $currentUser = JWTAuth::parseToken()->authenticate();

    $profile = DB::select('SELECT * FROM profiles WHERE profiles.profileID = :id', ['id' => $currentUser["id"]]);

    return $profile;
}

知道为什么令牌没有被正确删除/给出?

0 个答案:

没有答案