Hello tout le monde,

Je débute avec laravel et particulierement laravel 11 j'ai commencé par faire des test avec post pour une authentification et une liste de film tout fonctionne bien.

Ensuite j'ai créé une application Vuejs et lorsque que j'essaye de faire des requetes vers mon API j'ai le droit à l'erreur:
Blocage d’une requête multiorigines (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur http://127.0.0.1:8000/api/login. Raison : l’en-tête CORS « Access-Control-Allow-Origin » est manquant. Code d’état : 200.

J'ai fais pas mal de recherche sur google mais pour l'instant aucune ne m'a débloqué.

à savoir actuellement que j'ai ça dans mon config/cors.php :

    'paths' => ['api/*', 'sanctum/csrf-cookie', '/'],
    'allowed_methods' => ['*'],
    'allowed_origins' => [''],
    'allowed_origins_patterns' => ['*localhost*'],
    'allowed_headers' => ['content-type'],
    'exposed_headers' => [],
    'max_age' => 0,
    'supports_credentials' => true,

J'ai aussi éssayé de créer un middleware que je rajoutais dans le config/app.php mais pour l'instant rien n'y fais.

Si quelqu'un a une solution je suis méga preneur.

Merci à tous

4 réponses


Buchs
Auteur

Bonjour,

En effet je pense que j'avais compris ce probleme en revanche suite à mes recherches je n'ai toujours pas trouvé la solution et comment configurer correctement le coté "Laravel" pour que cela fonctionne correctement

Bonjour ,

Ne penses-tu pas que le problème réside côté client ?
Si

Bonjour,

C'est très étrange, car le même code fonctionne en Laravel 8. Je n'ai pas trouvé d'autre solution que d'installer une extension dans le navigateur pour corriger le problème. Vu que c'est une application qui n'est utilisée qu'en interne, on maîtrise les utilisateurs et ce n'est pas un souci.

Après avoir passé pas mal de temps, je viens de trouver une solution qui fonctionne pour mon projet en Laravel 11.
J'utilise pour mes routes API, le middleware offert par Laravel Illuminate\Http\Middleware\HandleCors et j'ai dans le fichier config/cors.php

<?php

return [
    'allowedHeaders'         => ['*'],
    'allowedMethods'         => ['*'],
    'allowedOrigins'         => ['*'],
    'exposedHeaders'         => ['Authorization'],
    'maxAge'                 => 0,
    'supportsCredentials'    => false,
    'paths' => ['*'],
];

En espérant que ça puisse aider.