繁体   English   中英

Facebook api身份验证PHP

[英]Facebook api authentication PHP

在我的站点网中,我正在使用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和tokens的值是空的。 有什么办法吗? k

您可以通过分配犯了一个错误session变量FB.getAuthResponse JS-SDK的功能

采用

var session = FB.getAuthResponse();

代替

var session = FB.getAuthResponse

您还使用了不正确的属性名称, authResponse使用的格式与FB.getLoginStatus相同, 不是JS-SDK早期版本的getSession返回的格式。

uiduserID ,而access_tokenaccessToken

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM