Bonjour,

Voila je rencontre un petit problème avec mon code
Je suis nouveau dans le dev Web est je suis bloqué sur un problème certainement simple.

J'ai mon backend en php (http://localhost:8080/) qui n'est autre qu'une api REST. et mon front en VueJs(http://localhost:8000) qui communique avec mon API grâce à axios.

Mon schéma est le suivant,

  • J'envoie une requête POST à l'adresse /login avec mes identifiant
  • Le backend regarde dans la base de donnée et me retourne un cookie avec un token JWT
  • à chaque nouvelle requête je dois renvoyer le token dans le cookie pour vérification par le backend

Quand je simule avec POSTMAN tout fonctionne, mais avec mon Front en VueJs rien ne marche ci dessous le code de ma connexion :


let credential = {
          email: data.email,
          password: data.password,
      };
axios.post("http://localhost:8080/login",credential,{
          headers : {
              'Content-Type': 'application/json',
              'Access-Control-Allow-Origin': '*'
          },
          withCredentials: true
      })
          .then(user =>{

              console.log(user.data);
          })
          .catch(function(error)
          {

              console.log(error);
          });

Ce que je veux

j'ai bien un code 200 avec la réponse mais mon cookie n'est pas sauvegardé et de plus il n'est pas renvoyé automatiquement lors d'une prochaine requête.

Alors comment faire ?

1 réponse


Bonjour,

C'est ton API qui doit renvoyer le code "Access-Control-Allow-Origin": '*'
Si elle veut pouvoir être accessible. Donc c'est au niveau de ton serveur (nginx ou apache j'imagine) qu'il va falloir spécifier ça.

https://developer.mozilla.org/fr/docs/Web/HTTP/CORS/Errors/CORSAllowOriginManquant