J'ai besoin de réinitialiser le jeton CSRF dans un modèle OData. Basé sur la documentation d'UI5 j'essaye de faire cela avec la fonction refreshSecurityToken(fnSuccess?, fnError?, bAsync?)
. (click here for reference)SAP GATEWAY & UI5: Comment réinitialiser le jeton CSRF? =
j'ai écrit le code suivant:
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
});
Le problème est que ce jeton est pas remis à zéro pendant 30 minutes et qui est notre délai d'attente de la session. En fait, il est valide pendant la durée de la session. J'ai même vérifié le lien suivant:
https://blogs.sap.com/2014/08/26/gateway-protection-against-cross-site-request-forgery-attacks/
En fait, beaucoup de gens ont eu ce problème, mais je ne pouvais pas trouver une solution claire pour réinitialiser le jeton. J'ai fait toutes les étapes requises dans le front-end pour l'envoi d'une requête Head pour le repos du jeton. Je pense qu'il manque quelque chose concernant les paramètres de la passerelle dorsale ou le codage ABAP.
Que dois-je faire?
Je vais vérifier. Tous les autres modules de fonction pour réinitialiser le jeton CSRF et ne pas supprimer? –
Que voulez-vous dire par réinitialisation? Pourquoi voulez-vous réinitialiser le jeton exactement? – mash
Il doit être réinitialisé pour pouvoir envoyer un nouveau fichier à CMS. –