我需要在 OData 模型中重置 CSRF 令牌。基于 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 编码缺少某些内容。
我需要做什么?