P粉5579579702023-08-15 11:18:45
这是默认行为。所以为了实现你想要的结果,你可以将它们列入黑名单。当用户尝试使用一个令牌时,你可以检查它是否在黑名单中。如果是的话,你可以拒绝它。
你可以通过创建一个中间件来实现这一点,该中间件会检查令牌是否在黑名单中,并将该中间件应用于需要令牌验证的路由。
中间件:
public function handle($request, Closure $next) { $token = $request->bearerToken(); if (TokenBlacklist::where('token', $token)->exists()) { return response()->json(['message' => '令牌已失效'], 401); } return $next($request); }
然而,只有在你的系统实际需要时才应该这样做。
P粉7680455222023-08-15 00:53:41
在创建后,您无法手动使令牌过期。这就是令牌的工作原理。如果您创建了令牌,它将在过期之前有效,但您可以创建令牌的黑名单,每次刷新令牌时,将第一个令牌添加到黑名单中,还可以考虑降低令牌的生命周期(如果足够低),您可以依靠自动过期机制。