CORS
O middleware CORS (Cross-Origin Resource Sharing) no Lithe configura os cabeçalhos CORS para permitir ou restringir o acesso a recursos de diferentes origens.
Usando o Middleware CORS
O middleware CORS no Lithe é responsável por configurar os cabeçalhos de Compartilhamento de Recursos entre Origens, permitindo ou restringindo o acesso aos recursos da sua aplicação a partir de diferentes origens. Para configurá-lo em sua aplicação, adicione-o usando o método use()
:
use Lithe\Middleware\Configuration\cors;
$app->use(cors());
Configurando o Middleware CORS
O middleware CORS pode ser configurado com os seguintes parâmetros:
- origins: Origem(ns) permitidas para acessar seus recursos. Pode ser uma string ou um array de strings. O padrão é
'*'
(qualquer origem). - methods: Métodos HTTP permitidos. O padrão é
'GET, POST, OPTIONS'
. - headers: Cabeçalhos permitidos. Pode ser uma string ou um array de strings. O padrão é
'Origin, X-Requested-With, Content-Type, Accept'
. - credentials: Indica se credenciais (como cookies ou cabeçalhos de autorização) são permitidas. O padrão é
true
. - maxAge: Tempo em segundos para o cache dos resultados de uma solicitação prévia. O padrão é
null
.
Exemplo de configuração:
$app->use(cors([
'origins' => ['https://example.com', 'https://another.com'],
'methods' => 'GET, POST, PUT, DELETE, OPTIONS',
'headers' => ['Content-Type', 'Authorization'],
'credentials' => true,
'maxAge' => 86400,
]));
Comportamento do Middleware
- Origens Permitidas: O middleware define o cabeçalho
Access-Control-Allow-Origin
com as origens permitidas. - Métodos Permitidos: Define o cabeçalho
Access-Control-Allow-Methods
com os métodos HTTP permitidos. - Cabeçalhos Permitidos: Define o cabeçalho
Access-Control-Allow-Headers
com os cabeçalhos permitidos. - Credenciais: Define o cabeçalho
Access-Control-Allow-Credentials
para permitir credenciais se configurado comotrue
. - Duração do Cache: Define o cabeçalho
Access-Control-Max-Age
para especificar a duração do cache para a solicitação prévia. - Tratamento de Solicitações OPTIONS: O middleware trata as solicitações OPTIONS (prévias) retornando um status 200 OK e encerrando a resposta.
Considerações
- Origens Específicas: Se você especificar origens concretas, apenas essas origens poderão acessar seus recursos.
- Métodos e Cabeçalhos HTTP: Configure os métodos e cabeçalhos de acordo com as necessidades da sua aplicação para garantir segurança e compatibilidade.
- Solicitações Prévias: O middleware garante que as solicitações OPTIONS sejam tratadas corretamente para suportar solicitações prévias.