PdfDragButton komplett entfernt (Plattformgrenze)
Test-Ergebnis: Browser kann einer fremden Desktop-App keine echte lokale Datei zum Anhaengen uebergeben. URL-Drag -> Thunderbird nur Link (0 Bytes, Fehler beim Senden); Datei-Drop in den Text -> nur Dateiname als Text; auf die Anhang-Leiste (Thunderbird/Linux) -> ebenfalls kein echter Anhang; Webmail -> gar nicht moeglich. Entscheidung: Feature raus. Download- und Anzeigen-Button decken den Bedarf zuverlaessig ab. PdfDragButton geloescht, fileUrl()-Token-Param zurueckgebaut. Pentest R131 damit gegenstandslos (kein Drag mehr). Die separaten Copy-Buttons fuer IBAN + Ausweisnummer im Vertrags- formular bleiben erhalten. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -24,15 +24,9 @@ export function viewUrl(path: string | null | undefined): string {
|
||||
return fileUrl(path, { inline: true });
|
||||
}
|
||||
|
||||
export function fileUrl(
|
||||
path: string | null | undefined,
|
||||
opts?: { inline?: boolean; token?: string },
|
||||
): string {
|
||||
export function fileUrl(path: string | null | undefined, opts?: { inline?: boolean }): string {
|
||||
if (!path) return '';
|
||||
// Expliziter Token (z.B. kurzlebiger 60s-Download-Token) hat Vorrang vor
|
||||
// dem langlebigen Access-Token. Genutzt vom PdfDragButton, damit bei einem
|
||||
// Fehl-Drop kein 15-Min-Vollzugriffs-Token in fremde Kontexte leakt.
|
||||
const token = opts?.token ?? getAccessToken();
|
||||
const token = getAccessToken();
|
||||
const normalizedPath = path.startsWith('/') ? path : '/' + path;
|
||||
// `?disposition=inline` schaltet die Anzeige im Browser-Tab ein,
|
||||
// der Backend-Controller bleibt aber nur dann inline, wenn die
|
||||
|
||||
Reference in New Issue
Block a user