Мне нужно сбросить токен CSRF в модели OData. Основываясь на документации UI5, я пытаюсь сделать это с помощью функции refreshSecurityToken(fnSuccess?, fnError?, bAsync?)
. (нажмите здесь для справки)
Я написал следующий код:
var oDataModel = this.getOwnerComponent().getModel("ZMDM_ODATA_FILE_SRV");
oDataModel.setTokenHandlingEnabled(true);
oDataModel.refreshSecurityToken(function() {
var token = oDataModel.getSecurityToken();
console.log(token);
// can upload the file if token reset
});
Проблема в том, что этот токен не сбрасывается в течение 30 минут, и это время ожидания сеанса. Фактически это действительно в течение всего сеанса. Я даже проверил следующую ссылку:
https://blogs.sap.com/2014/08/26/gateway-protection-against-cross-site-request-forgery-attacks/
На самом деле у многих была эта проблема, но я не мог найти четкого решения для сброса токена. Я выполнил все необходимые шаги во внешнем интерфейсе для отправки запроса Head для остановки токена. Я думаю, что чего-то не хватает в настройках внутреннего шлюза или кодировании ABAP.
Что мне нужно сделать?