Skip to content

Commit 4e89382

Browse files
authored
Merge pull request #17453 from nextcloud/fix/axios-csrf-token-update-event-stable17
[stable17] Fix axios csrf token update event
2 parents eb789e4 + f49f1af commit 4e89382

File tree

10 files changed

+136
-180
lines changed

10 files changed

+136
-180
lines changed

core/js/dist/login.js

Lines changed: 16 additions & 37 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

core/js/dist/login.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

core/js/dist/main.js

Lines changed: 53 additions & 74 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

core/js/dist/main.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

core/js/dist/maintenance.js

Lines changed: 16 additions & 37 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

core/js/dist/maintenance.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

core/src/OC/index.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
* along with this program. If not, see <http://www.gnu.org/licenses/>.
2020
*/
2121

22+
import { subscribe } from '@nextcloud/event-bus'
23+
2224
import {addScript, addStyle} from './legacy-loader'
2325
import {
2426
ajaxConnectionLostHandler,
@@ -67,8 +69,7 @@ import {
6769
getProtocol,
6870
} from './host'
6971
import {
70-
getToken as getRequestToken,
71-
subscribe as subscribeToRequestTokenChange,
72+
getToken as getRequestToken
7273
} from './requesttoken'
7374
import {
7475
hideMenus,
@@ -257,4 +258,9 @@ export default {
257258
}
258259

259260
// Keep the request token prop in sync
260-
subscribeToRequestTokenChange(token => OC.requestToken = token)
261+
subscribe('csrf-token-update', e => {
262+
OC.requestToken = e.token
263+
264+
// Logging might help debug (Sentry) issues
265+
console.info('OC.requestToken changed', e.token)
266+
})

core/src/OC/requesttoken.js

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,25 +19,22 @@
1919
* along with this program. If not, see <http://www.gnu.org/licenses/>.
2020
*/
2121

22-
let token = document.getElementsByTagName('head')[0].getAttribute('data-requesttoken');
23-
const observers = []
22+
import { emit } from '@nextcloud/event-bus'
23+
24+
let token = document.getElementsByTagName('head')[0].getAttribute('data-requesttoken')
2425

2526
/**
2627
* @return {string}
2728
*/
2829
export const getToken = () => token
2930

30-
/**
31-
* @param {Function} observer
32-
* @return {number}
33-
*/
34-
export const subscribe = observer => observers.push(observer)
35-
3631
/**
3732
* @param {String} newToken
3833
*/
3934
export const setToken = newToken => {
4035
token = newToken
4136

42-
observers.forEach(o => o(token))
37+
emit('csrf-token-update', {
38+
token
39+
})
4340
}

package-lock.json

Lines changed: 32 additions & 17 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"dependencies": {
2424
"@babel/polyfill": "^7.4.4",
2525
"@chenfengyuan/vue-qrcode": "^1.0.1",
26+
"@nextcloud/event-bus": "^0.2.1",
2627
"Select2": "git+https://github.com/select2/select2.git#3.4.8",
2728
"autosize": "^4.0.2",
2829
"backbone": "^1.4.0",

0 commit comments

Comments
 (0)