我使用Laravel 5.5进行API开发,我们如何使用laravel passport注销用户?是否与网络注销相同或有什么区别?提前谢谢。
答案 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();