mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2025-02-21 00:17:05 +01:00
CSRF token for decryption
This commit is contained in:
parent
93e190fdeb
commit
c98cd8117f
@ -1,6 +1,20 @@
|
|||||||
export class DecryptFile {
|
export class DecryptFile {
|
||||||
async decryptFile(file, requiresPassword) {
|
async decryptFile(file, requiresPassword) {
|
||||||
try {
|
try {
|
||||||
|
async function getCsrfToken() {
|
||||||
|
const cookieValue = document.cookie
|
||||||
|
.split('; ')
|
||||||
|
.find((row) => row.startsWith('XSRF-TOKEN='))
|
||||||
|
?.split('=')[1];
|
||||||
|
|
||||||
|
if (cookieValue) {
|
||||||
|
return cookieValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
const csrfElement = document.querySelector('input[name="_csrf"]');
|
||||||
|
return csrfElement ? csrfElement.value : null;
|
||||||
|
}
|
||||||
|
const csrfToken = await getCsrfToken();
|
||||||
const formData = new FormData();
|
const formData = new FormData();
|
||||||
formData.append('fileInput', file);
|
formData.append('fileInput', file);
|
||||||
if (requiresPassword) {
|
if (requiresPassword) {
|
||||||
@ -29,6 +43,7 @@ export class DecryptFile {
|
|||||||
const response = await fetch('/api/v1/security/remove-password', {
|
const response = await fetch('/api/v1/security/remove-password', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
body: formData,
|
body: formData,
|
||||||
|
headers: csrfToken ? {'X-XSRF-TOKEN': csrfToken} : undefined,
|
||||||
});
|
});
|
||||||
|
|
||||||
if (response.ok) {
|
if (response.ok) {
|
||||||
|
Loading…
Reference in New Issue
Block a user