Я работаю над этим приложением, в котором я создал API для бизнес-логики и использую Laravel в качестве основной части моего приложения, которая вызывает конечные точки API для ресурсов.
Аутентификация выполняется API, который возвращает только ресурс JSON.Я немного озадачен тем, что является лучшим способом для входа пользователя в мое приложение laravel после успешной аутентификации с помощью API.
//
public function login(Request $request)
{
$data = [
'username' => $request->username,
'password' => $request->password,
];
$data = Json_encode($data, TRUE);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://localhost:8080/api/v1/auth/login",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $data,
CURLOPT_HTTPHEADER => array(
"Content-Type: application/json"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
$response = Json_decode($response);
// var_dump($response);
if ($err) {
echo "cURL Error #:" . $err;
} else {
if ($response->status === 'failed') {
if ($response->message === "Incorrect login details") {
return redirect()->back()->with('error' , $response->message);
}elseif ($response->message === "User's account has not been activated") {
return view('activation', ['email' => $response->data]);
}
}elseif ($response->status === 'success' && $response->message === "Ok") {
$user = $response->data;
Auth::login($user , true);
return view('dashboard', ['user' => $user]);
}
}
Получив требуемый ответ от API, намеревайтесь напрямую регистрировать пользователяв приложение.Что для этого лучше?