Laravel не входит в систему после получения ответа от API - PullRequest
0 голосов
/ 11 февраля 2020

Я использовал API Truecaller для получения информации о пользователе от truecaller.

API фактически отправляет запрос на публикацию на веб-сайт. Я использовал TruecallerController для получения информации от API. API работает нормально, и я также могу хранить информацию о пользователях в моей базе данных. Но когда я использовал Auth :: login ($ user), он не работает. Он также не перенаправляет.

Вот мой код контроллера (я удалил часть перенаправления, так как это пока не моя задача):

public function login(Request $request){
        $this->validate($request,[
            'accessToken' => 'required',
        ]);
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL,$request->endpoint);
        curl_setopt($ch, CURLOPT_HTTPHEADER,array(
            'Authorization: Bearer '.$request->accessToken,
            'Cache-Control: no-cache'
        ));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $res = curl_exec($ch);
        curl_close ($ch);
        $res = json_decode($res, true);
        $name = $res['name']['first']." ".$res['name']['last'];
        $email = $res['onlineIdentities']['email'];
        $phone = $res['phoneNumbers'][0];
        $user = new User;
        $user->email = $email;
        $user->name = $name;
        $user->phone = $phone;
        $user->save();
        Auth::login($user); //This is not working
    }

Код вставляет данные пользователя в базы данных, он просто не авторизует пользователя.

Я пробовал:

  1. Auth :: login ($ user)
  2. $ request-> session ( ) -> put ('user', $ user) - это тоже не работает.
  3. Раскомментировал строку AuthenticateSession из ядра. php.

Пожалуйста, помогите.

Спасибо.

...