input('username'); $password = $request->input('password'); $client = new Client([ 'base_uri' => env('API_URL', 'http://localhost:8080'), 'timeout' => 5.0, ]); try { // Step 1: Validate username $usernameResponse = $client->request('POST', '/api/cms/login_username', [ 'json' => ['username' => $username] ]); $usernameData = json_decode($usernameResponse->getBody()->getContents(), true); if ($usernameData['code'] !== 200 || $usernameData['message'] !== 'Success') { return response()->json([ 'success' => false, 'message' => $usernameData['message'] ?? 'Invalid username' ], 401); } // Step 2: Validate password $passwordResponse = $client->request('POST', '/api/cms/login_password', [ 'json' => ['username' => $username, 'password' => $password] ]); $passwordData = json_decode($passwordResponse->getBody()->getContents(), true); if ($passwordData['code'] !== 200 || $passwordData['message'] !== 'Success') { return response()->json([ 'success' => false, 'message' => $passwordData['message'] ?? 'Invalid password' ], 401); } // Success: Return token to frontend return response()->json([ 'success' => true, 'token' => $passwordData['data']['token'] ?? null, 'message' => 'Login successful! Redirecting...' ]); } catch (RequestException $e) { \Log::error('Guzzle error: ' . $e->getMessage()); return response()->json([ 'success' => false, 'message' => $e->getMessage() ?: 'Login failed. Please try again.' ], 500); } catch (\Exception $e) { \Log::error('Unexpected error: ' . $e->getMessage()); return response()->json([ 'success' => false, 'message' => 'An unexpected error occurred. Please try again.' ], 500); } } }