0

Tengo una aplicación donde en una vista necesito usar el siguiente código

<script>

var config = {
  method: 'get',
  url: 'https://www.example.com',
  headers: { 
    'X-Secret-Key': 'secret'
  }
};

axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});

</script>

como ven es por axios , en la consola me sale "Access to XMLHttpRequest at "https://www.example.com' from origin 'http://localhost' has been blocked by CORS policy: Request header field x-secret-key is not allowed by Access-Control-Allow-Headers in preflight response.", mi config/cors.php tiene la siguente configuración

<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Cross-Origin Resource Sharing (CORS) Configuration
    |--------------------------------------------------------------------------
    |
    | Here you may configure your settings for cross-origin resource sharing
    | or "CORS". This determines what cross-origin operations may execute
    | in web browsers. You are free to adjust these settings as needed.
    |
    | To learn more: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
    |
    */

    'paths' => ['api/*'],

    'allowed_methods' => ['*'],

    'allowed_origins' => ['*'],

    'allowed_origins_patterns' => [],

    'allowed_headers' => ['*'],

    'exposed_headers' => [],

    'max_age' => 0,

    'supports_credentials' => false,

];

que tengo que hacer para que no me siga apareciendo ese mensaje en la consola y me cargue correctamente la información

4
  • El mensaje dice header field x-secret-key is not allowed. Que pasa si le quitas ese header? Commented el 26 abr. 2022 a las 12:28
  • @porloscerrosΨ No, si le quitó ``` headers: { 'X-Secret-Key': 'secret' } ``` funciona correctamente, pero necesito ese header para desprivatizar la información Commented el 26 abr. 2022 a las 17:04
  • En 'paths' => ['api/*'] dice que la configuración se aplica a lo que esté después de api/, pero vos decís que la llamada es a https://www.example.com. Por cierto, example.com es un dominio de segundo nivel reservado, ¿cómo explicas que tu aplicación laravel responde a una llamada a ese dominio? Commented el 27 abr. 2022 a las 15:54
  • si te das cuenta estas haciendo un llamado a la raíz sin el prefijo api,debes quitar el prefijo de los cors Commented el 28 abr. 2022 a las 1:26

0

Examina otras preguntas con la etiqueta o formula tu propia pregunta.