Ich versuche eine VSTS-Erweiterung zu schreiben, die einen Bericht generiert und einen Link zum Herunterladen der Daten als CSV-Datei bereitstellt.Inhaltssicherheitsrichtlinie, die das Herunterladen der generierten CSV-Datei von der VSTS-Erweiterung verhindert
Ich habe eine Zeichenfolge, die in eine CSV gespeichert wird:
$("#downloadReportButton".click(function() {
var csvString = getCSV()
var a = window.document.createElement('a')
a.href = 'data:attachment/csv,' + encodeURI(csvString)
a.download = 'test.csv'
document.body.appendChild(a)
a.click()
document.body.removeChild(a)
)}
Dies als in Chrome erwartet funktioniert, aber in Firefox wird die Aktion blockiert aufgrund der Content Security-Politik:
Inhaltssicherheitsrichtlinie: Die Einstellungen der Seite blockierten das Laden einer Ressource bei Daten: Anhang/csv,% 22Repository% 22,% 22 ... ("frame-src * tfs:").
Ich bin komplett neu in CSP, aber ich bin mir eigentlich nicht sicher, wo das Problem liegt. Gemäß der Rahmen src Politik (die zu meiner Inhalte anwenden scheint, die innerhalb eines iframe in VSTS gemacht wird), ich bin nicht sicher, warum dies blockiert:
mirframe-src * tfs:;
Es scheint, dass Rahmen- src wird ermöglicht *
, mit anderen Worten: Inhalte erlaubt oder tfs:
ich sehe kein Problem mit script-src
entweder:
script-src 'unsafe-inline' *.visualstudio.com https://cdn.vsassets.io *.ensighten.com *.microsoft.com *.google-analytics.com 'nonce-bbKMGh5rKZ1WElrqfMYBVQ==';
Hier ist die vollständige CSP, die ich aus den Header zu sehen:
Es scheint, als ob ich eine andere Methode verwenden sollte, um diese Aufgabe richtig zu erfüllen, als die Vorgehensweise, die ich gewählt habe, aber ich bin mir nicht sicher, wo ich von hier aus gehen soll. Präventives Schreien an einige Leute bei Microsoft, die großartig daran waren, das VSTS-Tag in SO zu überwachen und hilfreiche Informationen zu liefern, danke!