Exemplo n.º 1
0
    // All options requests get a 200, then die
    if ($app->__get('request')->getMethod() == 'OPTIONS') {
        $app->response->setStatusCode(200, 'OK')->sendHeaders();
        exit;
    }
    if (preg_match("/-allow/", $matchedRoute)) {
        return true;
    }
    //    @todo adicionar uma tabela com chaves de acesso basico
    if ($app->request->getHeader('BasicAuthorization') === 'uHealth1235486tcc') {
        //validar acesso a recursos basicos
        if (preg_match("/-authbasic/", $matchedRoute)) {
            return true;
        }
        if (strlen($app->request->getHeader('Token'))) {
            if ($app->getDi()->get('entityManager')->getRepository('Domain\\User\\Entity\\Login')->findOneBy(['token' => $app->request->getHeader('Token'), 'status' => 'active'])) {
                return true;
            }
        }
    }
    $app->response->setStatusCode(401, 'OK')->sendHeaders();
    $app->response = new \Api\Responses\JSONResponse();
    $app->response->useEnvelope(true)->convertSnakeCase(false)->send(['messages' => ['Você não tem permissão para acessar esse recurso']]);
    return false;
});
/**
 * Mount all of the collections, which makes the routes active.
 */
foreach ($di->get('collections') as $collection) {
    $app->mount($collection);
}