public function autenticarUsuario(Request $request)
 {
     // credenciales para loguear al usuario
     $credentials['email'] = $request->get('name');
     $credentials['password'] = $request->get('pass');
     $login_ip = getenv('HTTP_CLIENT_IP') ?: getenv('HTTP_X_FORWARDED_FOR') ?: getenv('HTTP_X_FORWARDED') ?: getenv('HTTP_FORWARDED_FOR') ?: getenv('HTTP_FORWARDED') ?: getenv('REMOTE_ADDR');
     try {
         if ($user = Usuario::where('email', $credentials['email'])->first()) {
             if ($user->rol->nombre == 'CENTRAL_EMPRESA' && $user->only_ip && $user->valid_ip != $login_ip) {
                 return response()->json(['mensajeError' => 'No tiene acceso'], 401);
             } elseif ($user->rol->nombre == 'CENTRAL_EMPRESA' && !$user->only_ip) {
                 $user->valid_ip = $login_ip;
                 $user->save();
             }
             if (password_verify($credentials['password'], $user->password)) {
                 $token = JWTAuth::fromUser($user, $this->getData($user));
                 // todo bien devuelve el token
                 return response()->json(compact('token'));
             } else {
                 return response()->json(['mensajeError' => 'Usuario o contraseña incorrectos'], 401);
             }
         } else {
             return response()->json(['mensajeError' => 'Usuario o contraseña incorrectos'], 401);
         }
     } catch (JWTException $e) {
         // si no se puede crear el token
         return response()->json(['error' => 'could_not_create_token'], 500);
     }
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request $request
  *
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $data = $request->json()->all();
     if (Usuario::where('email', $data['correo'])->first()) {
         return response()->json(['mensajeError' => 'ya existe un usuario con este correo electronico'], 409);
     } else {
         $usuario = Usuario::nuevo($data['correo'], $data['contrasena'], $this->getRol()->id);
         $data['usuario_id'] = $usuario->id;
         unset($data['contrasena']);
         $cliente = new Cliente($data);
         if (!$cliente->save()) {
             return response()->json(['menssage' => 'No se ha podido almacenar el usuario'], 400);
             $usuario->delete();
         }
         return response()->json($cliente, 201);
     }
 }
 public function autenticarUsuario(Request $request)
 {
     // credenciales para loguear al usuario
     $credentials['email'] = $request->get('name');
     $credentials['password'] = $request->get('pass');
     try {
         $user = Usuario::where('email', $credentials['email'])->first();
         if ($user && password_verify($credentials['password'], $user->password)) {
             $token = JWTAuth::fromUser($user, $this->getData($user));
         } else {
             return response()->json(['mensajeError' => 'Usuario o contraseña incorrectos'], 401);
         }
     } catch (JWTException $e) {
         // si no se puede crear el token
         return response()->json(['error' => 'could_not_create_token'], 500);
     }
     // todo bien devuelve el token
     return response()->json(compact('token'));
 }
 function getUsuario($identificacion)
 {
     return Usuario::where('email', $identificacion)->first();
 }