Comment puis-je envoyer printemps jeton csrf de Facteur reste client?
J'ai protection csrf dans le framework spring. Ainsi, dans chaque demande que j'ai envoyer le jeton csrf dans l'en-tête de l'ajax d'appel, ce qui est parfait état de fonctionnement.
<meta name="_csrf" content="${_csrf.token}"/>
<meta name="_csrf_header" content="${_csrf.headerName}"/>
var token = $("meta[name='_csrf']").attr("content");
var header = $("meta[name='_csrf_header']").attr("content");
En ajax
beforeSend: function(xhr) {
xhr.setRequestHeader(header, token),
xhr.setRequestHeader("username", "xxxx1"),
xhr.setRequestHeader("password", "password")
}
Je n'ai pas la moindre idée de générer jeton csrf et de les inclure dans la section d'en-tête de Facteur Reste Client ? Pourriez-vous svp m'aider à envoyer le jeton csrf de Facteur Reste Client?
Vous devez vous connecter pour publier un commentaire.
La façon la plus Simple de faire cela de façon constante, de sorte que vous n'avez pas à obtenir le jeton à chaque fois:
REMARQUE:vous devez installer le Facteur de l'Intercepteur et de l'activer pour avoir accès aux navigateurs, les cookies
Créer une méthode d'ouverture de session avec un test pour stocker les XSRF cookie dans une variable d'environnement, dans l'onglet test post ce code
MODIFIER
Pour toute personne utilisant la 5.5.2 facteur ou plus tard, vous aurez également à décoder le cookie, et ils ont aussi fourni des solutions de remplacement pour obtenir des cookies comme @Sacapuces souligne
Vous avez maintenant une variable d'environnement avec xsrf-jeton en elle.
Enregistrer votre méthode de connexion
Créer le nouveau poste que vous souhaitez créer et dans les en-têtes ajouter votre XSRF-Jeton-d'en-Tête de la Clé, et la variable d'environnement dans le guidon afin d'accéder{{}}
Je suis en mesure d'envoyer de REPOS avec jeton csrf en suivant les étapes ci-dessous:
Le jeton CSRF généré automatiquement par le printemps de sécurité lorsque vous vous êtes connecté. Il sera affiché en en-tête de réponse.
Le jeton CSRF peut être utilisé sur demande ultérieure, par la configuration de X-CSRF-JETON jeton CSRF sur l'en-tête.
&_csrf=<token>
à mon poste URL. Merci pour l'aide.Tout d'abord, vous devez installer le Facteur de l'Intercepteur et de l'activer pour accéder au navigateur les cookies.
Vous devez récupérer le Jeton CSRF en faisant une Requête GET:
En-tête: "XSRF-TOKEN" et de la Valeur: "Fetch"
Vous devriez voir le Jeton dans le cookie onglet et de le copier (remarque: Vous pouvez configurer le printemps comment le cookie doit être nommé. Peut-être que votre cookie a un autre nom que "XSRF-JETON". Attention: Vous devez le supprimer ce champ vide char dans le jeton du saut de ligne)
Maintenant faire votre Demande de publication et de définir l'en-tête: - Tête: "X-XSRF-TOKEN" et de la Valeur: "Votre copié Jeton, sans blancs"
Pour moi œuvres variante avec l'ajout de X-CSRF TOKEN pour les en-têtes.
Si vous ne souhaitez pas configurer les variables d'environnement etc. voici la solution la plus rapide
https://stackoverflow.com/a/49249850/3705478
S'il vous plaît mettre X-CSRF Token comme la clé et CHERCHER comme valeur dans la requête GET à l'en-tête, et vous recevrez le jeton dans l'en-tête de réponse