注销 laravel 护照中的用户
Logging out the user in laravel passport
我正在使用 Laravel 5.5 进行 API 开发,我们如何使用 laravel 通行证注销用户?它与网络注销相同还是有什么区别?提前致谢。
$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
上述解决方案不适用于 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
这样做:
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();
我正在使用 Laravel 5.5 进行 API 开发,我们如何使用 laravel 通行证注销用户?它与网络注销相同还是有什么区别?提前致谢。
$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
上述解决方案不适用于 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
这样做:
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();