Я использовал 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
}
Код вставляет данные пользователя в базы данных, он просто не авторизует пользователя.
Я пробовал:
- Auth :: login ($ user)
- $ request-> session ( ) -> put ('user', $ user) - это тоже не работает.
- Раскомментировал строку AuthenticateSession из ядра. php.
Пожалуйста, помогите.
Спасибо.