} 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');