在laravel passport中注销用户

在laravel passport中注销用户,laravel,authentication,laravel-5.5,laravel-passport,Laravel,Authentication,Laravel 5.5,Laravel Passport,我正在使用Laravel5.5进行API开发,如何使用LaravelPassport注销用户?这和在网络上注销是一样的还是有什么区别?提前谢谢 $value = $request->bearerToken(); $id= (new Parser())->parse($value)->getHeader('jti'); $token= $request->user()->tokens->find($token); $token->revoke();

我正在使用Laravel5.5进行API开发,如何使用LaravelPassport注销用户?这和在网络上注销是一样的还是有什么区别?提前谢谢

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

参考资料:

上述解决方案不适用于laravel 5.5和passport(我对其进行了测试) 这似乎是一个JWT解决方案

如果您正在寻找护照方式,您可以:

$request->user()->token()->revoke()
假设当前路由使用auth:api中间件

相同来源:

这样做:

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);
    }
只要这样做:

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

你到底想要什么?@kunal在用户注销时取消对用户的访问你刚才给了我我想要的提示,谢谢@PHPWorm@VishalParkash令人惊叹的!这个答案很久以前就发布了。现在,在最新版本中可能还有另一种方法可以做到这一点。但你的回答帮助我找到了另一个好办法:)