2017-09-02 2 views
0

J'ai une application web qui ne sert que des contenus statiques - HTML, CSS et Javascript. Et une autre application qui est ASP.NET Web Api. Les deux applications sont sur la même machine sur différents ports. Quand je navigue sur l'application web, il reçoit des jetons CSRF sur le premier appel ajax de l'API web et je reçois à la fois le jeton de corps et le jeton de cookie en réponse. Donc, je mets le jeton de corps comme en-tête avec setRequestHeader fonction de XMLHttpRequest. Je ne pense pas qu'il soit nécessaire de définir le jeton cookie puisque les cookies sont restreints avec HttpOnly L'attribut pour raison de sécurité et navigateur est supposé gérer l'envoi du cookie par lui-même.Comment envoyer les cookies que j'ai reçus de Web Api dans le cas où javascript fait partie d'une application différente sur la même machine

Cependant, lorsque je fais des appels ajax consécutifs, au lieu que ces deux jetons soient renvoyés au serveur, seul le jeton d'en-tête est reçu par le serveur.

Actuellement, l'API Web est définie avec la restriction CORS pour l'application Web. Mais si le problème était lié à l'origine croisée, j'imagine que les en-têtes n'auraient pas pu être transmis, corrigez-moi si je me trompe.

Donc, quelqu'un peut-il m'aider avec ce problème? Je veux juste pouvoir envoyer des cookies d'une application à l'autre sans compromettre en termes de sécurité.

Répondre