mirror of
https://github.com/Jeuners/Logpy-AgentOne.git
synced 2026-09-09 15:02:33 +02:00
feat: signierte 1h-Testzugangslinks fuer den Leitstand ("agent-one test")
Gegenstueck zum "agent-one test"-Kommando in Alice (dillenberg.net,
dilles-agent.php). Kein Live-Aufruf zwischen den Systemen noetig - beide
teilen sich TESTZUGANG_SECRET, das Token ist ein HMAC-signierter
Ablauf-Zeitstempel ("ablauf.signatur"), stateless geprueft.
pipe/testzugang.py: gueltig(token) prueft Signatur (hmac.compare_digest)
und Ablauf. _angemeldet() in server.py akzeptiert das Token zusaetzlich zum
Passwort - per ?zugang=... in der URL oder per zugang-Cookie fuer
Folgeanfragen (fetch()-Aufrufe der Seite tragen die URL nicht mit). Ein
frisches URL-Token setzt das Cookie (HttpOnly, Secure, SameSite=Lax) fuer
den Rest der Stunde.
End-to-End getestet: PHP-generiertes Token wird von Python akzeptiert
(Cross-Language-HMAC-Kompatibilitaet bestaetigt), ungueltige Signatur und
abgelaufenes Token werden korrekt abgelehnt (401), Cookie-Folgeanfrage ohne
erneutes Token/Passwort funktioniert.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vtvcyNkapuDh583643hNs
This commit is contained in:
parent
fa55204767
commit
af67ee89e3
4 changed files with 72 additions and 2 deletions
|
|
@ -106,6 +106,12 @@ LEITSTAND_PORT = int(os.environ.get("LEITSTAND_PORT", "8088"))
|
|||
LEITSTAND_USER = os.environ.get("LEITSTAND_USER", "praxis")
|
||||
LEITSTAND_PASS = os.environ.get("LEITSTAND_PASS", "")
|
||||
|
||||
# Geteiltes Geheimnis mit dilles-agent.php ("agent-one test"-Kommando auf
|
||||
# dillenberg.net) fuer signierte, 1h gueltige Testzugangslinks - siehe
|
||||
# pipe.testzugang. Leer lassen deaktiviert das Feature (kein Fallback-Wert,
|
||||
# ein leeres Secret darf niemals gueltige Signaturen erzeugen).
|
||||
TESTZUGANG_SECRET = os.environ.get("TESTZUGANG_SECRET", "")
|
||||
|
||||
|
||||
def leitstand_oeffentlich() -> bool:
|
||||
return LEITSTAND_HOST not in {"127.0.0.1", "localhost", "::1"}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue