coolify/resources/views/livewire/security
Andras Bacsai 90ddbb3572 feat(security): support expiration on API tokens with warning notifications
Add optional expiration to personal API tokens. Users pick a duration
(1/7/30/60/90 days or Never) at creation time. Expired tokens are
rejected by Sanctum, pruned hourly by sanctum:prune-expired, and a
team notification fires ~24h before expiry so owners can rotate
before API calls start failing.

- ApiTokens Livewire component stores expires_at from expiresInDays
- Rework issued-tokens UI from card grid to table (matches other views)
- New ApiTokenExpirationWarningJob scheduled hourly (idempotent via RateLimiter)
- New ApiTokenExpiringNotification (email/discord/telegram/slack/pushover)
- api_token_expiring added to alwaysSendEvents so users cannot silence
  expiry warnings from the per-event notification toggle UI
- sanctum:prune-expired cadence moved from daily to hourly

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 14:28:38 +02:00
..
private-key feat(forms): make textarea monospace opt-in and improve multiline toggle 2026-03-31 15:37:42 +02:00
api-tokens.blade.php feat(security): support expiration on API tokens with warning notifications 2026-04-20 14:28:38 +02:00
cloud-init-script-form.blade.php feat: add YAML validation for cloud-init scripts 2025-10-11 13:56:55 +02:00
cloud-init-scripts.blade.php docs: clarify cloud-init script compatibility 2025-10-11 14:06:16 +02:00
cloud-provider-token-form.blade.php feat: add token validation functionality for Hetzner and DigitalOcean providers 2025-10-29 23:21:38 +01:00
cloud-provider-tokens.blade.php Simplify cloud provider token button labels 2025-12-18 12:18:18 +01:00
cloud-tokens.blade.php init of cloud providers 2025-10-08 20:47:50 +02:00