HolgerHatGarKeineNode 6bb7d93d1d feat(auth): require signed NIP-42 event for Nostr login
Closes a security flaw where the server trusted any pubkey the client
sent. The frontend now signs a per-session, time-bound challenge
(kind-22242 event) that the backend verifies with swentel/nostr-php
before establishing the session.

- NostrAuth: issueChallenge() + loginWithSignedEvent() with full
  schnorr/id verification, TTL window, and idempotent re-entry for
  concurrent Livewire listeners.
- auth-button: mounts a fresh challenge, exposes it via data-attribute
  + requestNostrChallenge() fallback, renders a full-viewport AAA-style
  loading overlay while the wallet signs.
- NostrSessionGuard: override logout() to drop the cookie-jar dep so
  programmatic logout works in any context.
2026-05-20 01:09:20 +02:00
2026-05-18 22:36:11 +02:00
2024-08-29 13:36:49 +02:00
2024-08-29 13:36:49 +02:00
2026-02-11 14:13:45 +01:00
2024-08-29 13:36:49 +02:00
2026-02-11 14:13:45 +01:00
2026-05-18 22:45:46 +02:00
2026-05-18 22:45:46 +02:00
2026-02-13 16:06:17 +01:00
2026-02-11 14:13:45 +01:00
Languages
Blade 79.4%
PHP 19.2%
JavaScript 0.8%
CSS 0.6%