user = $user; } public function generateAuthData(): array { // Create a new Sanctum token with device info $token = $this->user->createToken( Str::random(20), // token name (device identifier) ['*'], // abilities now()->addYear() // expiration ); // Format token: remove ID prefix and add Bearer $tokenParts = explode('|', $token->plainTextToken); $formattedToken = 'Bearer ' . ($tokenParts[1] ?? $tokenParts[0]); return [ 'auth_data' => $formattedToken, 'is_admin' => $this->user->is_admin, ]; } public function getSessions(): array { return $this->user->tokens()->get()->toArray(); } public function removeSession(): bool { $this->user->tokens()->delete(); return true; } }