Facebook graph api Facebook Connect自动登录我的网站

Facebook graph api Facebook Connect自动登录我的网站,facebook-graph-api,facebook-javascript-sdk,Facebook Graph Api,Facebook Javascript Sdk,我的要求是,一旦用户使用他的Facebook帐户登录到我的网站,从下次开始,他/她应该自动登录到我的网站,除非他/她已经注销 目前,我可以允许用户使用Facebook帐户登录,但问题在于自动登录 我的代码如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Facebook login</title> <script src="http://c

我的要求是,一旦用户使用他的Facebook帐户登录到我的网站,从下次开始,他/她应该自动登录到我的网站,除非他/她已经注销

目前,我可以允许用户使用Facebook帐户登录,但问题在于自动登录

我的代码如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Facebook login</title>
<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"> 
</script>
 </head>
<body>
<form id="form1" runat="server">
    <div>
        <table align="center">
            <tbody>
                <tr>
                    <td align="center" style="color: #33ccff; font-size: large; font-   weight: bold; text-transform: capitalize;"></td>
                </tr>
                <tr>
                    <td align="center" style="margin-top: 350px;">
                        <script type="text/javascript">
                            // Load the SDK Asynchronously 
                            (function (d) {
                                var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
                                if (d.getElementById(id)) { return; }
                                js = d.createElement('script'); js.id = id; js.async = true;
                                js.src = "//connect.facebook.net/en_US/all.js";
                                ref.parentNode.insertBefore(js, ref);
                            }(document));

                            // Init the SDK upon load
                            window.fbAsyncInit = function () {
                                FB.init({
                                    appId: 'xxxxxxxx', // App ID 
                                    channelUrl: '//' + window.location.hostname +   '/channel', // Path to your Channel File 
                                    status: true, // check login status 
                                    cookie: true, // enable cookies to allow the server to access the session 
                                    xfbml: true  // parse XFBML 
                                });

                                // listen for and handle auth.statusChange events 
                                FB.Event.subscribe('auth.statusChange', function (response) {

                                    if (response.authResponse) {

                                        // user has auth'd your app and is logged into Facebook 
                                        FB.api('/me', function (me) {
                                            if (me.name) {
                                                document.getElementById('auth-displayname').innerHTML = me.name;
                                                document.getElementById('UserEmail').innerHTML = me.email;
                                                document.getElementById('UserGender').innerHTML = me.gender;
                                                document.getElementById('AccessToken').innerHTML = response.authResponse.accessToken;

                                                getPhoto();
                                            }
                                        })
                                        document.getElementById('auth-loggedout').style.display = 'none';
                                        document.getElementById('auth-loggedin').style.display = 'block';
                                    } else {
                                        // user has not auth'd your app, or is not logged into Facebook 
                                        document.getElementById('auth-loggedout').style.display = 'block';
                                        document.getElementById('auth-loggedin').style.display = 'none';
                                    }
                                });
                                $("#auth-logoutlink").click(function () { FB.logout(function () { window.location.reload(); }); });


                                function getPhoto() {
                                    FB.api('/me/picture?type=normal', function (response) {

                                        var str = "<br/> <img src='" + response.data.url + "'/>";

                                        document.getElementById("ProfilePic").innerHTML = str;

                                    });
                                }
                            }

                        </script>
                        <h1>Facebook Integration with Aspnet Example</h1>
                        <div id="auth-status">
                            <div id="auth-loggedout">
                                <div autologoutlink="true" class="fb-login-button" scope="email,user_checkins">
                                    Login with Facebook
                                </div>
                            </div>
                            <div id="auth-loggedin" style="display: none;">
                                Hi, <span id="auth-displayname">Welcome to Toqsoft </span>(<a href="#" id="auth-logoutlink">Signout</a>)
                                <div id="ProfilePic">
                                </div>
                                <div>
                                    <b>Email :</b><span id="UserEmail"></span><br />
                                    <b>Gender :</b><span id="UserGender"></span><br />
                                    <b>AccessToken :</b><span id="AccessToken"></span>
                                </div>
                                <div id="AccessToken1">
                                </div>
                            </div>
                        </div>
                    </td>
                </tr>
            </tbody>
        </table>
    </div>
</form>

Facebook登录
//异步加载SDK
(职能(d){
var js,id='facebook jssdk',ref=d.getElementsByTagName('script')[0];
if(d.getElementById(id)){return;}
js=d.createElement('script');js.id=id;js.async=true;
js.src=“//connect.facebook.net/en_US/all.js”;
ref.parentNode.insertBefore(js,ref);
}(文件);
//加载时初始化SDK
window.fbAsyninit=函数(){
FB.init({
appId:'xxxxxxxx',//应用程序ID
channelUrl:'/'+window.location.hostname+'/channel',//频道文件的路径
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
xfbml:true//解析xfbml
});
//侦听并处理auth.statusChange事件
FB.Event.subscribe('auth.statusChange',函数(响应){
if(response.authResponse){
//用户已验证您的应用并登录到Facebook
api('/me',函数(me){
如果(我的名字){
document.getElementById('auth-displayname')。innerHTML=me.name;
document.getElementById('UserEmail').innerHTML=me.email;
document.getElementById('UserGender')。innerHTML=me.gender;
document.getElementById('AccessToken')。innerHTML=response.authResponse.AccessToken;
getPhoto();
}
})
document.getElementById('auth-loggedout').style.display='none';
document.getElementById('auth-loggedin')。style.display='block';
}否则{
//用户尚未验证您的应用,或未登录Facebook
document.getElementById('auth-loggedout').style.display='block';
document.getElementById('auth-loggedin')。style.display='none';
}
});
$(“#auth logout link”)。单击(函数(){FB.logout(函数(){window.location.reload();});});
函数getPhoto(){
FB.api('/me/picture?type=normal',函数(响应){
var str=“
”; document.getElementById(“ProfilePic”).innerHTML=str; }); } } Facebook与Aspnet的集成示例 使用Facebook登录 嗨,欢迎来到Toqsoft() 电子邮件:
性别:
AccessToken:

目前,您甚至没有将用户登录到facebook。您可以使用以下按钮允许用户登录:

<fb:login-button scope="public_profile,email" onlogin="checkLoginState();">
</fb:login-button>
如果
响应.status
已连接
,则应为您提供一个访问令牌和一个应用程序范围的用户id

这实际上在这里都有很好的记录:

当然,您也可以使用带有自定义按钮的FB.login来代替社交插件,但getLoginStatus绝对值得+先生,给你一张:)
function checkLoginState() {
    FB.getLoginStatus(function(response) {
       // do stuff
    });
}