как интегрировать facebook js login и laravel socialite?

Я facebook js sdk для входа пользователей, на стороне сервера я хочу получить данные пользователя, которые я пытаюсь использовать

Socialite::with('facebook')->user()

чтобы заставить его работать, мне нужно 2 кода строки запроса и статус в моем JavaScript, я использую следующие

var auth_status_change = function(response) {

        console.log(response);
        if(response.status == "connected")
        {
            window.location = "{{URL::to(App::getLocale()."/fb_login")}}?code="+??+"&state="+???;
        }

    }
FB.Event.subscribe('auth.statusChange', auth_status_change);

как получить значения состояния и кода для создания действительного URL-адреса обратного вызова для светского лица


person Hager Aly    schedule 20.04.2015    source источник


Ответы (1)


Вы пытаетесь объединить две вещи, которые делают одно и то же, но одна на стороне сервера и одна на стороне клиента, это не сработает.

Laravel Socialite использует ваш токен приложения, чтобы перенаправить вашего пользователя на Facebook, разрешить вашему приложению использовать Facebook от их имени (токен) и предоставить вам данные пользователя. С помощью токена вы можете выполнять вызовы API из Laravel.

Facebook JS SDK делает то же самое, но в браузере. Он извлекает токен, который использует для вызовов API.

Посетите https://laracasts.com/series/whats-new-in-laravel-5/episodes/9 о том, как работает Socialite.

Если вы не используете функциональность JS SDK, вы можете не использовать ее и просто добавить ссылку на социальный маршрут, который перенаправляет ее на Facebook. Этот вызов предоставит вам код и состояние, необходимые для выборки пользователя.

person Robert    schedule 21.04.2015
comment
Действительно полезно. Спасибо - person pravin; 17.07.2015