Простой пример раскрывающейся аутентификации с Графиком Facebook API

При попытке заставить Facebook проходить проверку подлинности раскрываются мои пользователи с помощью JavaScript. Прямо сейчас я имею:

<input type="button" value="Connect with Facebook" onclick="window.open('https://graph.facebook.com/oauth/authorize?client_id=XXXXXXXXXXX&redirect_uri=http://example.com/step2&display=popup')"  />

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

Существует ли лучшее / более легкий способ сделать это? Ценятся простые примеры.

Спасибо.

22
задан ensnare 26 April 2010 в 20:36
поделиться

2 ответа

oauth2 в facebook включает два шага: вызов авторизации для получения кода, затем вызов access_token для получения токена. Один из способов справиться с всплывающим логином:

открыть URL-адрес входа в новом окне точно так же, как и вы, когда facebook перенаправляет обратно на ваш URL-адрес во всплывающем окне, вы устанавливаете cookie либо с помощью кода на стороне сервера, либо используя javascript для захвата параметра запроса url, когда страница загружается во всплывающем окне, немедленно закройте окно window.close.

На главной странице после кода window.open добавьте код JavaScript, чтобы определить, закрыто ли всплывающее окно, и захватить файл cookie:

var signinWin;
$('#FacebookBtn').click(function () {
        var pos = screenCenterPos(800, 500);
        signinWin = window.open("[URL]", "SignIn", "width=780,height=410,toolbar=0,scrollbars=0,status=0,resizable=0,location=0,menuBar=0,left=" + pos.x + ",top=" + pos.y);
        setTimeout(CheckLoginStatus, 2000);
        signinWin.focus();
        return false;
    });

function CheckLoginStatus() {
    if (signinWin.closed) {
        $('#UserInfo').text($.cookie("some_cookie");
    }
    else setTimeout(CheckLoginStatus, 1000);
}
27
ответ дан 29 November 2019 в 04:36
поделиться

Ознакомьтесь с этой статьей: Создайте окно аутентификации всплывающих окон Facebook с помощью PHP и javascript для настройки аутентификации всплывающих окон.

4
ответ дан 29 November 2019 в 04:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: