Exemplo n.º 1
0
    }
    return new JsonResponse('Beer not found', 404);
});
$app->post('/auth', function (Request $request) use($app) {
    if ($request->get('usuario') == 'admin' && $request->get('senha') == 'admin') {
        $clientToken = \App\Generators\Sha2TokenGenerator::generate();
        $app['ClientToken'] = $clientToken;
        return new JsonResponse('Login ok', 200);
    }
    return new JsonResponse('Invalid username or password', 404);
});
$app->before(function (Request $request, Application $app) {
    $pathInfo = $request->getPathInfo();
    $appToken = $request->headers->get('AppToken');
    $isValidToken = false;
    $guard = new Guardian();
    if ($pathInfo == '/auth') {
        if ($guard->validateAppToken($appToken)) {
            $app['AppToken'] = $appToken;
            $isValidToken = true;
        }
    } else {
        $clientToken = $request->headers->get('ClientToken');
        if ($guard->validateAppAndClientToken($appToken, $clientToken)) {
            $app['ClientToken'] = $clientToken;
            $isValidToken = true;
        }
    }
    if (!$isValidToken) {
        return new JsonResponse('Bad Request', 400);
    }
            return new JsonResponse($beer, 200);
        }
    }
    return new JsonResponse('Beer not found', 404);
});
$app->post('/auth', function (Request $request) use($app) {
    if ($request->get('usuario') == 'admin' && $request->get('senha') == 'admin') {
        $clientToken = \App\Generators\JWTTokenGenerator::generate();
        $app['ClientToken'] = strval($clientToken);
        return new JsonResponse('Login ok', 200);
    }
    return new JsonResponse('Invalid username or password', 404);
});
$app->before(function (Request $request, Application $app) {
    $pathInfo = $request->getPathInfo();
    $guard = new Guardian();
    if ($pathInfo != '/auth') {
        $clientToken = $request->headers->get('ClientToken');
        if ($guard->validateJwtToken($clientToken)) {
            $app['ClientToken'] = $clientToken;
        } else {
            return new JsonResponse('Bad Request', 400);
        }
    }
});
$app->after(function (Request $request, Response $response, Application $app) {
    if (isset($app['ClientToken'])) {
        $response->headers->set('ClientToken', $app['ClientToken']);
    }
    $response->headers->set('Access-Control-Allow-Origin', '*');
    $response->headers->set('Access-Control-Expose-Headers', 'ClientToken');