Inicio Blog arrow-menu-nigmacode Vídeos Cursos Foro

¿Cómo puedo dar acceso a más de una url en laravel ? Access-Control-Allow-Origin



Formulada por: Luis Ramirez Realizada: 11-07-2020

Ayuda Por favor

Cómo puedo hacer si necesito dar acceso a más de una url ? Por ejemplo. Tengo el backend en un hosting ya montado y funcionando. Pero, quiero darle acceso a varios frontend's (Pagina web, Movil y Desktop). Intenté declarando 3 variables en el header de "Access-Control-Allow-Origin" pero solo toma en cuenta la primera que lee...

Muchas gracias de antemano. Son una gran página, Explican muy bien y amo sus interfaces (Cosa que no se consigue en cualquier página de documentación de programación).

Son mi página favorita a la hora de intentar resolver problemas sobre laravel. 

Respuesta de: Nigmacode Realizada: 26-07-2020

Buenas Luis!

Lo que tienes es que crear un array con las direcciones a las que quieres dar acceso y cuando una dirección haga la petición, comprobar que éste en el array. De este modo:

public function handle($request, Closure $next)
{
    $allowed = ['url1.com', 'url2.com', 'url3.com'];
    $client= $_SERVER['HTTP_ORIGIN'];

    if (in_array($client, $allowed )) {
        return $next($request)
            ->header('Access-Control-Allow-Origin', $client)
            ->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE')
            ->header('Access-Control-Allow-Headers', 'Content-Type');
    }

    return $next($request);
}

con in_array compruebas si la dirección del cliente que hizo la petición está en el array allowed.

Un saludo y nos alegra que te guste nigmacode 😄

¿Sabes la respuesta? ayuda a Luis Ramirez