J'essaie la nouvelle API Fetch mais j'ai des problèmes avec les cookies. Plus précisément, après une connexion réussie, il y a un en-tête Cookie dans les demandes futures, mais Fetch semble ignorer ces en-têtes, et toutes mes demandes effectuées avec Fetch ne sont pas autorisées.
Est-ce parce que Fetch n'est toujours pas prêt ou Fetch ne fonctionne pas avec les cookies?
Je construis mon application avec Webpack. J'utilise également Fetch dans React Native, qui n'a pas le même problème.
same-origin
(ce qui fonctionne toujours) signifie que plus d'en-têtes seront respectés (cookies, etc.) mais votre code aura un accès limité à la réponse.document.cookie
, mais toujours disponible pour ajax ou pour récupérer des requêtes.En plus de la réponse de @ Khanetor, pour ceux qui travaillent avec des demandes d'origine croisée:
credentials: 'include'
Exemple de demande de récupération JSON:
https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials
la source
document.cookie
pour qu'elle soit incluse dans les demandes.Je viens de résoudre. Juste deux f. jours de brutforce
Pour moi, le secret était de suivre:
J'ai appelé POST / api / auth et j'ai vu que les cookies ont été reçus avec succès.
Ensuite, appelez GET / api / users / with
credentials: 'include'
et obtenu 401 unauth, car aucun cookie n'a été envoyé avec la demande.La CLE est également à définir
credentials: 'include'
pour le premier/api/auth
appel.la source
credentials: 'include'
pour le premierPOST /api/auth
Si vous lisez ceci en 2019,
credentials: "same-origin"
est la valeur par défaut.la source
Il suffit d'ajouter les bonnes réponses ici pour les
.net
webapi2
utilisateurs.Si vous utilisez
cors
parce que votre site client est servi à partir d'une adresse différente de la vôtre,webapi
vous devez également inclureSupportsCredentials=true
la configuration côté serveur.la source
Cela fonctionne pour moi:
Ensuite, construisez votre appel:
la source