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
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
})
}
J'aimerais pouvoir faire fonctionné le Control-Allow-Origin pour pouvoir continué à utiliser l'authentification par post ajax.
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