用laravel护照注销用户

时间:2017-12-26 15:52:15

标签: laravel authentication laravel-5.5 laravel-passport

我使用Laravel 5.5进行API开发,我们如何使用laravel passport注销用户?是否与网络注销相同或有什么区别?提前谢谢。

4 个答案:

答案 0 :(得分:4)

 $value = $request->bearerToken();
 $id= (new Parser())->parse($value)->getHeader('jti');
 $token= $request->user()->tokens->find($token);
 $token->revoke();

参考:https://laracasts.com/discuss/channels/laravel/passport-how-can-i-manually-revoke-access-token

答案 1 :(得分:4)

上述解决方案不适用于laravel 5.5&护照(我测试过) 它似乎是一个JWT解决方案。

如果你正在寻找Passport的方式,你可以这样做:

$request->user()->token()->revoke()

假设当前路由使用auth:api中间件

相同来源: https://laracasts.com/discuss/channels/laravel/passport-how-can-i-manually-revoke-access-token

答案 2 :(得分:0)

这样做:

public function logout() {
        $accessToken = Auth::user()->token();
        DB::table('oauth_refresh_tokens')
            ->where('access_token_id', $accessToken->id)
            ->update([
                'revoked' => true
            ]);

        $accessToken->revoke();
        return response()->json(null, 204);
    }

答案 3 :(得分:0)

只需执行以下操作:

auth()->user()->token()->revoke();