facebook第三方登录

facebook第三方登录

Laravel PHP7.3

fb第三方登录使用的是官方提供的sdk很简单 只需要简单引用即可

<li class="sc-fb">
    <a class="animate" href="javascript:fbLogin()">
        <img src="/images/login-btn-fb.png" alt="Facebook" title="Login With Facebook">
    </a>
</li>

<script type="text/javascript">
window.fbAsyncInit = function() {
    FB.init({
      appId      : 'XXXXXXXX',
      cookie     : true,
      xfbml      : true,
      version    : 'v3.0'
    });      
    FB.AppEvents.logPageView();         
    };
    (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/en_US/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));

    function fbLogin() {
        FB.login(function (response) {
        if (response.authResponse) {
                FB.api('/me', function (response) {
                // console.log('Good to see you, ' + response.name + '.');
                checkLoginState();
            });
        } else {
            // console.log('User cancelled login or did not fully authorize.');
            }
        }, {
        scope: 'email',
        // scope: 'publish_actions',
        return_scopes: true
        });
    }

    function checkLoginState() {
        FB.getLoginStatus(function(response) {
          statusChangeCallback(response);
        });
    }

    function statusChangeCallback(response) {
    if (response.status === 'connected') {  //登陆状态已连接
        
        FB.api('/me', function(response) {
        var referer=$("input[name='referer']").val();
        
        $.post('/ajax/SocilaAuthLogin',{
                data:{userdata:response,type:'facebooklogin'},
                },function(data){
                    var data=JSON.parse(data);
                    art.dialog({
                        title:'{{$LANG['PUBLIC']['TIPS']}}',
                        icon: data['icon'],
                        content:data['tips'],
                        okVal:'ok'
                    });  
                window.location.reload();
                
        });
        // console.log('Successful login for: ' + response);
        });
    } else if (response.status === 'not_authorized') { //未经授权
        // console.log('facebook未经授权');
    } else {
        // console.log('不是登陆到Facebook;不知道是否授权');
    }
}

</script>

返回数据再通过ajax返回后台进行登录验证或者注册操作 后续会补充下来

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容