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>
70 lines
2.5 KiB
HTML
70 lines
2.5 KiB
HTML
<!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>
|