Ejemplo n.º 1
0
 public static function getJwt($uid = 1)
 {
     Auth::CreateJwtKey();
     $key = RedBeanPHP\R::load('jwt', 1);
     $jwt = Firebase\JWT\JWT::encode(array('exp' => time() + 60 * 90, 'uid' => $uid, 'mul' => 1), $key->secret);
     return $jwt;
 }
Ejemplo n.º 2
0
 static function generate($expires, $user)
 {
     $tokenId = base64_encode(mcrypt_create_iv(32));
     $issuedAt = time();
     $notBefore = $issuedAt;
     $expire = $notBefore + $expires;
     $serverName = Flight::get("servername");
     $data = ["iat" => $issuedAt, "jti" => $tokenId, "iss" => $serverName, "nbf" => $notBefore, "exp" => $expire, "data" => ["userName" => $user["username"]]];
     $secretKey = base64_decode(Flight::get("jwtkey"));
     $jwt = Firebase\JWT\JWT::encode($data, $secretKey, "HS512");
     $unencoded = ["jwt" => $jwt];
     return $unencoded;
 }
Ejemplo n.º 3
0
// Register Entity Manager in the container
$container['entityManager'] = function () {
    $conf = parse_ini_file('../conf/conf.db.ini', true);
    $doctrineSettings = ['connection' => ['driver' => $conf['database']['driver'], 'host' => $conf['database']['host'], 'port' => isset($conf['database']['port']) ? $conf['database']['port'] : '3306', 'user' => $conf['database']['user'], 'password' => $conf['database']['password'], 'dbname' => $conf['database']['db'], 'charset' => 'utf8', 'memory' => true], 'annotation_paths' => ['../Entity/Users.php']];
    return EntityManagerBuilder::build($doctrineSettings);
};
$app->add(new \Slim\Middleware\JwtAuthentication(["path" => "/api", "secret" => "supersecretkeyyoushouldnotcommittogithub"]));
$app->get('/', function (Request $request, Response $response) {
    $result = $this->entityManager->createQueryBuilder()->select('user.email, user.password, user.token')->from('Users', 'user')->getQuery()->getArrayResult();
    return json_encode($result);
});
$app->get('/api', function (Request $request, Response $response) {
    getStats($request, $response);
});
$app->get('/login', function (Request $request, Response $response) {
    $result = Firebase\JWT\JWT::encode("ramdont0k3n", "supersecretkeyyoushouldnotcommittogithub");
    $body = $response->getBody();
    $body->write(json_encode($result));
    return $response;
});
$app->run();
function getStats($request, $response)
{
    //$response = $app->response;
    $response->withHeader('Access-Control-Allow-Origin', '*');
    $response->withHeader('Access-Control-Allow-Headers', 'Cache-Control, Pragma, Origin, Authorization, Content-Type, X-Requested-With');
    $response->withHeader('Access-Control-Allow-Credentials', 'true');
    $response->withHeader('Cache-Control', 'no-cache');
    $response->withHeader('Content-Type', 'application/json; charset=utf-8');
    $result = array(array('producto' => 'maxideli', 'version' => '3.0', 'icon' => 'base64', 'activo' => 1, 'estilos' => array('ancho' => 1, 'orden' => 1), 'actualizado' => 1, 'tabs' => array(array('monitor' => array('pendientes' => 254, 'elaboracion' => 1542, 'entregados' => 145, 'postdatados' => 20)), array('monitor' => array('pendientes' => 254, 'elaboracion' => 1542, 'entregados' => 145, 'postdatados' => 20)), array('totales' => array('total' => 120)))), array('producto' => 'maxipad', 'version' => '2.0', 'icon' => 'base64', 'activo' => 1, 'estilos' => array('ancho' => 1, 'orden' => 1), 'actualizado' => 1, 'tabs' => array(array('dispositivos' => array(array('id' => 123, 'nombre' => 'dispositivo 1'), array('id' => 456, 'nombre' => 'dispositivo 2'))))), array('producto' => 'maxikds', 'version' => '1.0', 'icon' => 'base64', 'activo' => 1, 'estilos' => array('ancho' => 1, 'orden' => 1), 'actualizado' => 1, 'tabs' => array(array('monitor' => array('pendientes' => 254, 'elaboracion' => 1542, 'entregados' => 145, 'postdatados' => 20)), array('monitor' => array('pendientes' => 254, 'elaboracion' => 1542, 'entregados' => 145, 'postdatados' => 20)), array('totales' => array('total' => 120)))), array('producto' => 'reservas', 'version' => '1.0', 'icon' => 'base64', 'activo' => 1, 'estilos' => array('ancho' => 1, 'orden' => 1), 'actualizado' => 0, 'tabs' => array(array('monitor' => array('pendientes' => 254, 'elaboracion' => 1542, 'entregados' => 145, 'postdatados' => 20)), array('monitor' => array('pendientes' => 254, 'elaboracion' => 1542, 'entregados' => 145, 'postdatados' => 20)), array('totales' => array('total' => 120)))), array('producto' => 'menuweb', 'version' => '1.0', 'icon' => 'base64', 'activo' => 1, 'estilos' => array('ancho' => 1, 'orden' => 1), 'actualizado' => 1, 'tabs' => array(array('monitor' => array('pendientes' => 254, 'elaboracion' => 1542, 'entregados' => 145, 'postdatados' => 20)), array('monitor' => array('pendientes' => 254, 'elaboracion' => 1542, 'entregados' => 145, 'postdatados' => 20)), array('totales' => array('total' => 120)))), array('producto' => 'maxideli', 'version' => '3.0', 'icon' => 'base64', 'activo' => 1, 'estilos' => array('ancho' => 1, 'orden' => 1), 'actualizado' => 1, 'tabs' => array(array('monitor' => array('pendientes' => 254, 'elaboracion' => 1542, 'entregados' => 145, 'postdatados' => 20)), array('monitor' => array('pendientes' => 254, 'elaboracion' => 1542, 'entregados' => 145, 'postdatados' => 20)), array('totales' => array('total' => 120)))), array('producto' => 'maxideli', 'version' => '3.0', 'icon' => 'base64', 'activo' => 1, 'estilos' => array('ancho' => 1, 'orden' => 1), 'actualizado' => 1, 'tabs' => array(array('monitor' => array('pendientes' => 254, 'elaboracion' => 1542, 'entregados' => 145, 'postdatados' => 20)), array('monitor' => array('pendientes' => 254, 'elaboracion' => 1542, 'entregados' => 145, 'postdatados' => 20)), array('totales' => array('total' => 120)))), array('producto' => 'menuweb', 'version' => '1.0', 'icon' => 'base64', 'activo' => 1, 'estilos' => array('ancho' => 1, 'orden' => 1), 'actualizado' => 1, 'tabs' => array(array('monitor' => array('pendientes' => 254, 'elaboracion' => 1542, 'entregados' => 145, 'postdatados' => 20)), array('monitor' => array('pendientes' => 254, 'elaboracion' => 1542, 'entregados' => 145, 'postdatados' => 20)), array('totales' => array('total' => 120)))), array('producto' => 'clientes', 'activo' => 1, 'estilos' => array('ancho' => 1, 'orden' => 1), 'administracion' => array(array('facturas_pendientes' => 1, 'vencimiento' => '25/05/2015')), 'capacitaciones' => array(), 'soporte' => array()), array('producto' => 'notificaciones', 'activo' => 1, 'estilos' => array('ancho' => 1, 'orden' => 1), 'notificaciones' => array(array('id' => 1, 'notificacion' => 'notificacion 1'), array('id' => 2, 'notificacion' => 'notificacion 2'), array('id' => 3, 'notificacion' => 'notificacion 3'))), array('producto' => 'usuarios', 'activo' => 1, 'estilos' => array('ancho' => 1, 'orden' => 1), 'notificaciones' => array(array('id' => 1, 'nombre' => 'usuario 1'), array('id' => 2, 'nombre' => 'usuario 2'), array('id' => 3, 'nombre' => 'usuario 3'))));
    $body = $response->getBody();