【发布时间】:2018-06-07 10:19:18
【问题描述】:
我正在使用 Laravel 5.5 进行 API 开发,我们如何使用 laravel 护照注销用户?它与网络中的注销相同还是有什么不同?提前致谢。
【问题讨论】:
-
你到底想要什么?
-
@kunal 在用户注销时撤销对用户的访问权限
标签: laravel authentication laravel-5.5 laravel-passport
我正在使用 Laravel 5.5 进行 API 开发,我们如何使用 laravel 护照注销用户?它与网络中的注销相同还是有什么不同?提前致谢。
【问题讨论】:
标签: laravel authentication laravel-5.5 laravel-passport
上述解决方案不适用于 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
【讨论】:
$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
【讨论】:
这样做:
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();
【讨论】: