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