This is login function inside LoginController that override login function inside trait AuthenticatesUsers.php
public function login(Request $request)
{
//validate the login request
$this->validateLogin($request);
//checking if username is exist (if not exist that means user don't have access to logbook system).
$check['username'] = $request->username;
$rules = array('username' => 'unique:users');
$validator = Validator::make($check, $rules);
if($validator->fails()){
// if ($this->attemptLogin($request)) {
// return $this->sendLoginResponse($request);
// }
$this->attemptApiLogin($request);
return $this->sendFailedLoginResponse($request);
}
return $this->sendNotAuthorizedLoginResponse($request);
}
Then, below is attemptApiLogin function that i created to consuming the API
protected function attemptApiLogin(Request $request)
{
$postdata = http_build_query(
array(
'LoginForm[username]' => $request->username,
'LoginForm[password]' => $request->password
)
);
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-Type: application/x-www-form-urlencoded',
'content' => $postdata
)
);
$context = stream_context_create($opts);
$resultapi = file_get_contents('https://abcdef.com/api/auth/login', false, $context);
//echo $resultapi;
$jsondec = json_decode($resultapi, true);
// echo $jsondec['status'];
if($jsondec['status'] == 'success'){
//return $this->sendLoginResponse($request);
//echo $resultapi; //IT WORKS (Fetch the data) and contain 'status' which i use for this decision
echo "Login success"; //IT WORKS TESTED
}else{
echo "Login failed";
}
}