Вход пользователя в приложение laravel после аутентификации конечной точки API - PullRequest
0 голосов
/ 27 ноября 2018

Я работаю над этим приложением, в котором я создал 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, намеревайтесь напрямую регистрировать пользователяв приложение.Что для этого лучше?

1 Ответ

0 голосов
/ 27 ноября 2018

Если у вас есть та же база данных, с которой вы можете связаться с пользователем.Вы можете просто позвонить

Auth::loginUsingId($id);

, чтобы автоматически войти в систему пользователя с этим идентификатором.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...