Я думал о том, как работает socialite, а затем думал о создании тестового проекта для входа в приложение с флаттером с возможностью входа с помощью учетной записи socila media. Gmail на данный момент. Как проблема, как показано ниже.
Как использовать Socialite для API для входа в систему. Как использовать это в приложении флаттера.
Я пробовал это.
public function getSocial()
{
$social = Socialite::with('google')->stateless()->redirect()->getTargetUrl();
return response()->json(array(
'google' => $social,
));
}
Это возвращает ссылку, которая перенаправляет меня в Google для входа. При регистрации / входе в систему переадресовать меня обратно на URL обратного вызова в Интернете и войти в сеть.
Мне удалось добиться этого с помощью этого
public function handleGoogleCallback()
{
$user = Socialite::with('google')->stateless()->user();
$data = [
'name' => $user->getName(),
'email' => $user->getEmail(),
'google_id' => $user->getId(),
'image_url' => $user->getAvatar(),
'email_verified_at' => now()
];
// Here, check if the user already exists in records
$my_user = User::where('email','=', $user->getEmail())->first();
if($my_user === null) {
Auth::login(User::firstOrCreate($data));
} else {
Auth::login($my_user);
}
//after login redirecting to home page
return redirect($this->redirectPath());
}
Но я хочу реализовать эту функцию в API, чтобы я мог войти в свое приложение флаттера. Это довольно запутанно, так как я не знаю, что делать.