diff options
author | Luka Trovic <luka@nextcloud.com> | 2024-03-20 21:08:54 +0100 |
---|---|---|
committer | Luka Trovic <luka@nextcloud.com> | 2024-03-29 09:49:41 +0100 |
commit | c08ab81334e7508b87dc514efdf4b02fb18f6c55 (patch) | |
tree | 5d78e3b83670e0f4550b9b04c83d4abc0ad4f6b4 /core/src | |
parent | a40838b61cfbad9fc3d969b82179f12308b8cd09 (diff) | |
download | nextcloud-server-c08ab81334e7508b87dc514efdf4b02fb18f6c55.tar.gz nextcloud-server-c08ab81334e7508b87dc514efdf4b02fb18f6c55.zip |
fix: csrf check failed on public share with password
Signed-off-by: Luka Trovic <luka@nextcloud.com>
Diffstat (limited to 'core/src')
-rw-r--r-- | core/src/OC/index.js | 2 | ||||
-rw-r--r-- | core/src/OC/requesttoken.js | 16 |
2 files changed, 18 insertions, 0 deletions
diff --git a/core/src/OC/index.js b/core/src/OC/index.js index 33dd45a17ee..34af0b25522 100644 --- a/core/src/OC/index.js +++ b/core/src/OC/index.js @@ -70,6 +70,7 @@ import { } from './host.js' import { getToken as getRequestToken, + fetchToken as fetchRequestToken, } from './requesttoken.js' import { hideMenus, @@ -274,6 +275,7 @@ export default { redirect, reload, requestToken: getRequestToken(), + fetchRequestToken, /** * @deprecated 19.0.0 use `linkTo` from https://www.npmjs.com/package/@nextcloud/router */ diff --git a/core/src/OC/requesttoken.js b/core/src/OC/requesttoken.js index eba15e88e08..229f8ff0370 100644 --- a/core/src/OC/requesttoken.js +++ b/core/src/OC/requesttoken.js @@ -22,6 +22,8 @@ */ import { emit } from '@nextcloud/event-bus' +import { generateUrl } from '@nextcloud/router' +import $ from 'jquery' /** * @private @@ -41,6 +43,15 @@ export const manageToken = (global, emit) => { token, }) }, + fetchToken: async () => { + const url = generateUrl('/csrftoken') + const resp = await $.get(url) + token = resp.token + emit('csrf-token-update', { + token, + }) + return token + }, } } @@ -55,3 +66,8 @@ export const getToken = manageFromDocument.getToken * @param {string} newToken new token */ export const setToken = manageFromDocument.setToken + +/** + * @return {Promise<string>} + */ +export const fetchToken = manageFromDocument.fetchToken |