Facebook API аутентификация PHP - PullRequest
0 голосов
/ 13 января 2012

На моем сайте я использую аутентификацию через Facebook API.

<fb:login-button onlogin="fbLoginEvent(arguments)">Enter with Facebook</fb:login-button>

Моя функция fbLoginEvent:

function fbLoginEvent( args ) {
    //console.log( "fbLogin", args );
    //var session = FB.getSession();
    var session = FB.getAuthResponse();
    if (session) {
        fbCheckSession(session, function(data) {
            if (data.result) {
            fbLoginNow();
    } else {                        
            $('#facebook-register').data("overlay").load();

    }
         });
}
}

И моя функция для проверки сеанса:

var fbLogin = { status: false, uid: 0, access_token: "" };

function fbCheckSession( session, callback ) {
    if ( session && $.type(callback) == "function" ) {
    ajaxCall( "facebook", "check_session", {uid: session.uid, token: session.access_token}, function(data){
        if ( data.result ) {
        fbLogin.status = true;
        fbLogin.fbuid = session.uid;
        fbLogin.uid = data.info.id;
        fbLogin.access_token = session.access_token;
            callback( { result: true, info: { name: data.info.name, fbLogin: fbLogin } } );
            } else {
        callback( { result: false } );
            }
    });
}                   
}

Я сделал несколько проверок и заметил, что значения uid и токенов пусты Любое решение? Thk

1 Ответ

0 голосов
/ 13 января 2012

Вы ошиблись, присвоив session переменную FB.getAuthResponse функции JS-SDK

Использовать

var session = FB.getAuthResponse();

Вместо

var session = FB.getAuthResponse

Youтакже используя неправильные имена свойств, authResponse использует тот же формат, что и FB.getLoginStatus не в формате, возвращаемом getSession предыдущей версии JS-SDK.

uid named userID и access_token равно accessToken

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