在laravel passport中注销用户
我正在使用Laravel5.5进行API开发,如何使用LaravelPassport注销用户?这和在网络上注销是一样的还是有什么区别?提前谢谢在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();
$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令人惊叹的!这个答案很久以前就发布了。现在,在最新版本中可能还有另一种方法可以做到这一点。但你的回答帮助我找到了另一个好办法:)