簡體   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