je besoin d'un cookie d'authentification HttpOnly
pour travailler sur:les cookies multi-sous-domaine et les problèmes de ajax
mydomain.com
www.mydomain.com
abc.mydomain.com
pour que je puisse être connecté à trois endroits via une seule connexion.
Cela fonctionne très bien, en réglant mon domaine de cookie:
.mydomain.com
est ici l'en-tête de réponse qui définit le cookie:
MYAUTHCOOKIE=FOO; domain=.mydomain.com; path=/; HttpOnly
Tout cela fonctionne très bien pour les demandes de navigateur normales. Cependant, j'ai besoin de faire une demande AJAX de mydomain.com
et www.mydomain.com
à abc.mydomain.com
.
Lorsque je fais la demande, il ne passe pas le cookie d'authentification. Pourquoi est-ce, et que puis-je faire à ce sujet?
Si je fais une demande au même hôte que la page JS se trouve sur, il n'envoie le cookie: s
Voici mon code de demande:
$.ajax({
type: "POST"
, data: { data: { foo: bar} }
, dataType: "json"
, url: "http://abc.mydomain.com/foo"
, timeout: 5000
, success: function (data, textStatus) {
alert('woo!');
}
, error: function (xhr, textStatus, error) {
alert('meh');
}
});
Est-ce une politique inter-domaine ? Pourquoi le domaine des cookies ne fait-il pas ce travail?
Merci
Si vous définissez document.domain sur 'foo.com' sur l'URL http://one.foo.com/, comment le serveur connaît-il le paramètre document.domain sur http://two.foo.com/ avant il fait la demande à «deux»? –
Comment la création de requêtes CORS avec des en-têtes de contrôle d'accès affecterait-elle cette situation? – Mnebuerquo