aboutsummaryrefslogtreecommitdiffstats
path: root/core/src
diff options
context:
space:
mode:
authorLuka Trovic <luka@nextcloud.com>2024-03-20 21:08:54 +0100
committerLuka Trovic <luka@nextcloud.com>2024-03-29 09:49:41 +0100
commitc08ab81334e7508b87dc514efdf4b02fb18f6c55 (patch)
tree5d78e3b83670e0f4550b9b04c83d4abc0ad4f6b4 /core/src
parenta40838b61cfbad9fc3d969b82179f12308b8cd09 (diff)
downloadnextcloud-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.js2
-rw-r--r--core/src/OC/requesttoken.js16
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