使用php和javascript sdk在强制网络门户上登录facebook

时间:2018-04-13 14:04:39

标签: javascript php facebook


我有强制门户网站的问题。几乎没有完成。我的申请表如下:

  • 用户连接到WiFi网络并重定向到 外部页面,他要求使用php sdk登录facebook;
  • 在显示登录页面的php sdk中按预期发生登录 其他一切。知情登录后,用户将被重定向到另一个用户 接收查询字符串中的代码和状态字段的页面;
  • 在此重定向页面中,我调用sdk javascript来了解客户 数据,令我惊讶的是,在具有较旧操作系统版本的设备上 (iOS,windowsPhone或Android),运行FB.getLoginStatus()时, 功能的响应显示用户已连接, 但是在Android 7.0+或iOS 9.0+中,用户总是显示为 断开。

我已经失去了无数个夜晚,试图解决这个问题而没有成功。如果有人知道为什么会这样,我将非常感激。

let statusLogin = function () {
    FB.getLoginStatus(function(response) {
        if (response.status === 'connected') {
            //you are loggedin 
            accessToken = response.authResponse.accessToken;
            userID = response.authResponse.userID;
        } else if (response.status === 'not_authorized') {
            //loggedin but not authorized your app
            alert('User is connected on facebook nut not authorized!!');
        } else {
            // the user isn't logged in to Facebook.
            alert('User is not connected on facebook!!');
        }
    });
};

window.fbAsyncInit = function() {
    FB.init({
        appId            : '00XXX811XXX0000',
        status           : true,
        cookie           : true,
        xfbml            : true,
        version          : 'v2.12'
    });
    FB.Event.subscribe('auth.statusChange', statusLogin);
    statusLogin();
};
(function(d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s); js.id = id;
    js.src = 'https://connect.facebook.net/pt_BR/sdk.js#xfbml=1&version=v2.12&autoLogAppEvents=1';
    fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

0 个答案:

没有答案