bearerToken(); if ($plainTextKey === null || trim($plainTextKey) === '') { return response()->json(['message' => 'Unauthenticated.'], 401); } $application = UserApplication::query() ->with('user') ->where('key_hash', UserApplication::hashKey($plainTextKey)) ->first(); if ($application === null || $application->user === null) { return response()->json(['message' => 'Unauthenticated.'], 401); } Auth::setUser($application->user); $request->setUserResolver(fn () => $application->user); $application->forceFill([ 'last_used_at' => now(), ])->save(); return $next($request); } }