Как я могу проверить, является ли кто-то пользователем Facebook - PullRequest
0 голосов
/ 09 июня 2018

Я создаю приложение laravel, в котором используется система одобрения регистрации администратора.После того, как администратор одобрит регистрацию, я бы хотел, чтобы пользователи на своей странице профиля подтвердили, что они являются членами facebook и linkedin.Я вижу кучу материала о создании пользователя и входе в систему, но не о проверке.Может кто-нибудь указать мне правильное направление?

1 Ответ

0 голосов
/ 19 июня 2018

Если вы знакомы с Laravel Socialite, это может быть достигнуто ...

После того, как ваши пользователи вошли в систему и получили одобрение администратора, вы можете добавить кнопку facebook, чтобы использовать функцию входа в Socialite, но снекоторые пользовательские работы.

В SocialAuthController.php

Найдите метод handleFacebookCallback

В моем примере у меня есть метод с именем handleProvider, но он работает точно так же

public function handleProviderCallback($provider)
{

    // First we are going to get the user data from facebook
    $social_user = Socialite::driver($provider)->fields([
        'name', 'email'
    ])->user();

  //Now we make the logic
    if (Auth::check()) {  //if the user is logged in
        $userID = Auth::user()->id; //then we get the user ID

        $user = User::where('id', $userID)->first(); //Prepare the model for update

    //And finally we just start to update each field in DB (you need to create this fields)
        $user->fb_email = $social_user->email;
        $user->avatar = $social_user->avatar;
        $user->fb_id = $social_user->id;
        $user->save();

        return $this->authAndRedirect($user); // This is to redirect the user 

    }
}

С этим вы можете заставить пользователей связывать свои учетные записи в вашем приложении с Facebook ...

Но имейте в виду, что вам также придется справиться с остальным, с остальнымикод для создания новой учетной записи, если вы собираетесь разрешить пользователям регистрироваться на Facebook.В противном случае вам нужно всего лишь добавить кнопку facebook на странице профиля ваших пользователей, чтобы связать их с соответствующей учетной записью fb.

Кнопка может быть такой:

<a href="{{ route('social.auth', 'facebook') }}" class="btn btn-social btn-just-icon btn-link"><i class="fa fa-facebook-square"></i></a>

, вам также нужно настроить Socialite, как и сначала ознакомиться с этим.

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