Использование Laravel Socialite в API - PullRequest
0 голосов
/ 16 апреля 2020

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

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