Bonjour,

Voila je rencontre un problème depuis 2 jours suite à un changement entre apache et nginx. tous foncitonnais parfaitement mais lorsque j'ai changé le serveur cela ma indiqué une erreurs sur le cross origin

Ce que je fais

J'utilise symfony 4.2 avec vue-js pour pouvoir faire une authentification via call js grâce à axios. Suite à mes recherche la plus part des posts indiquais la configuration nginx + axios.

Le problème viens de l'url lofin!check de symfony lors de la soumission du formulaire,

J'ai essayer plusieurs configurations trouvé sur internet mais même si je change sa reste pareil.

Voici ma configuration nginx pour symfony

server {
        listen               80;
        server_name shopify-nginx.test;
        root /Applications/MAMP/htdocs/public_html/nginx_sites/shopify-nginx/public;

        location / {

            # try to serve file directly, fallback to index.php
            try_files $uri /index.php$is_args$args;

        }

        location ~ ^/index\.php(/|$) {
            fastcgi_pass unix:/Applications/MAMP/Library/logs/fastcgi/nginxFastCGI.sock;
            fastcgi_split_path_info ^(.+\.php)(/.*)$;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
            fastcgi_param DOCUMENT_ROOT $realpath_root;

             # 
             # Code trouver sur internet
             # 

            # Simple requests
            if ($request_method ~* "(GET|POST)") {
              add_header "Access-Control-Allow-Origin"  *;
            }

            # Preflighted requests
            if ($request_method = OPTIONS ) {
              add_header "Access-Control-Allow-Origin"  *;
              add_header "Access-Control-Allow-Methods" "GET, POST, OPTIONS, HEAD";
              add_header "Access-Control-Allow-Headers" "Authorization, Origin, X-Requested-With, Content-Type, Accept";
              return 200;
            }

        }

        location ~ \.php$ {
            return 404;
        }

        error_log /Applications/MAMP/logs/shopify_error.log;
        access_log /Applications/MAMP/logs/shopify_access.log;
    }

Voici l'utilisation avec axios

login (creds, redirect) {
    const AUTH_BASIC_HEADERS = {
      headers: {
        'Authorization': 'Basic ZGVtb2FwcDpkZW1vcGFzcw==' // Base64(client_id:client_secret) "demoapp:demopass"
      },
      emulateJSON: true
    }
    const params = { 'username': creds.username, 'password': creds.password }

      return axios.post(LOGIN_URL, params, AUTH_BASIC_HEADERS)
      .then((response) => {
        console.log('ok');
        this.storeToken(response)
        console.log('after set auth');
        if (redirect) {
          this.router.push({ name: redirect })
        }

        return response
      })
      .catch((errorResponse) => {
        return errorResponse
      })
  }

Ce que je veux

J'aimerais pouvoir faire fonctionné le Control-Allow-Origin pour pouvoir continué à utiliser l'authentification par post ajax.

Ce que j'obtiens

Voici l'erreur exacte que j'obtient :

  Access to XMLHttpRequest at 'http://shopify.test/api/login_check' from origin 'http://shopify-nginx.test' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Si quelqu'un à déja rencontrer cette erreur ou connaît la réponse sa serait cool pour que je puisse avancer.

Merci

Aucune réponse