1

我正在使用 Facebook Javascript SDK 来实现 Facebook Connect 操作。它已经在工作,但问题是每次我尝试在我的应用程序上再次登录时,用户都必须重新输入其 Facebook 密码。

如果您已经登录 facebook(我在很多网页中都看到过),我确信可以选择在不输入密码的情况下执行此步骤。但是怎么做?文档http://developers.facebook.com/docs/reference/javascript/FB.login/甚至源代码都没有解释如何做到这一点:

“@param opts {Object}(可选)修改登录行为的选项。”

我现在的实现是这样的:

function login(){
  FB.login(function(response) {
   if (response.authResponse) {

     $(".fb_login").hide();
     $(".fb_logout").show();

     FB.api('/me', function(response) {
       register_user(response.id, response.name);
     });

   } else {
     alert('User cancelled login or did not fully authorize.');
   }
 });
 }

我像这样调用 FB.init :

FB.init({
  appId      : 'xxxxxxxxx', // App ID
  status     : true, // check login status
  cookie     : true, // enable cookies to allow the server to access the session
  xfbml      : true  // parse XFBML
});

调用 FB.login 时,可能必须更改 FB.init 或某种选项。有任何想法吗?

在此先感谢雷蒙博世。

4

2 回答 2

1

有一个方法FB.getLoginStatus可以用来检查用户是否已经登录:

FB.getLoginStatus(function(response) {
  if (response.status === 'connected') {
    var accessToken = response.authResponse.accessToken;
    //you are loggedin 
  } else if (response.status === 'not_authorized') {
    //loggedin but not authorized your app
  } else {
    // the user isn't logged in to Facebook.
  }
});

你的意思是这样的吗

于 2012-06-12T11:36:30.243 回答
0

在您的 PP 设置 facebbok developer>Your App> facebook login > setting > 将 Force Web OAuth Reauthentication 设置为 NO 中检查 Force Web OAuth Reauthentication

于 2019-01-02T09:39:44.863 回答