thunderbird2docuware/dialog/dialog.html
sylyx f1454540d5 Passwort nicht mehr speichern: OAuth-Token nur im RAM, 1x-Login pro Sitzung
Das DocuWare-Passwort wird nicht mehr in storage.local abgelegt. Das
Hintergrundskript fungiert als Auth-Broker und hält den OAuth-Token nur im
Speicher der TB-Sitzung. Der Ablage-Dialog fragt das Passwort einmalig per
Overlay ab, holt darüber den Token und verwirft das Passwort sofort.

- store.js: password aus DEFAULTS entfernt; Settings.set() löscht password defensiv
- auth.js: setToken/currentToken für Token-Transfer, Cookie-Modus als Sentinel
- background.js: Broker (auth:status/auth:logon/auth:logout)
- dialog: ensureAuth() + Passwort-Overlay statt direktem Auth.logon
- options: Passwort nur transient für Test/Diagnose, nicht gespeichert; Export ohne Passwort
- manifest: lib/store.js + lib/auth.js ins Hintergrundskript geladen

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 15:14:05 +02:00

70 lines
2.5 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8" />
<title>In DocuWare ablegen</title>
<link rel="stylesheet" href="dialog.css" />
</head>
<body>
<div class="titlebar">In DocuWare ablegen</div>
<header>
<h1 id="cabHeading">Ablage</h1>
<div class="toolbar">
<button id="cancel" class="link"> Abbrechen</button>
<button id="reset" class="link">↺ Zurücksetzen</button>
<span class="spacer"></span>
<button id="submit" class="primary">Ablegen</button>
</div>
</header>
<main>
<div id="multiNote" class="muted" style="margin-bottom:8px;"></div>
<div class="target">
<label for="cabinet">Ziel</label>
<select id="cabinet"><option value="">Lade …</option></select>
</div>
<div class="target" id="dialogRow" style="display:none;">
<label for="storeDialog">Ablagedialog</label>
<select id="storeDialog"></select>
</div>
<div id="fields" class="fields"><div class="muted">Ziel wählen …</div></div>
</main>
<!-- Passwort-Abfrage: nur für diese Sitzung, wird nicht gespeichert. -->
<div id="pwOverlay" class="overlay" hidden>
<div class="overlay-box">
<h2>DocuWare-Anmeldung</h2>
<div id="pwWho" class="muted"></div>
<input type="password" id="pwInput" autocomplete="current-password" placeholder="Passwort" />
<div id="pwErr" class="err"></div>
<div class="overlay-actions">
<button id="pwCancel" class="link">Abbrechen</button>
<button id="pwOk" class="primary">Anmelden</button>
</div>
<div class="muted pw-note">Wird nur für diese Sitzung verwendet und nicht gespeichert.</div>
</div>
</div>
<footer>
<section class="options">
<label class="radio"><input type="radio" name="scope" value="both" checked /> E-Mail und Anhänge</label>
<label class="radio"><input type="radio" name="scope" value="att" /> Nur Anhänge</label>
<label class="radio"><input type="radio" name="scope" value="eml" /> Nur E-Mail</label>
<label class="check"><input type="checkbox" id="optPdf" /> Zusätzlich als PDF ablegen</label>
<ul id="attList" class="att-list"></ul>
</section>
<div id="status" class="muted"></div>
</footer>
<script src="../lib/store.js"></script>
<script src="../lib/auth.js"></script>
<script src="../lib/docuware.js"></script>
<script src="../lib/mail.js"></script>
<script src="../lib/pdf.js"></script>
<script src="dialog.js"></script>
</body>
</html>