Facebook подключиться, используя ссылку - PullRequest
1 голос
/ 25 января 2011

Клиент может войти в мое веб-приложение через обычный вход в систему и подключиться через Facebook. Пока все хорошо.

<fb:login-button autologoutlink="true" perms="email,user_birthday,status_update,publish_stream"></fb:login-button>                                                  <div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
      FB.init({appId: '<xsl:value-of select="$FACEBOOK_APP_ID" />', status: true,
               cookie: true, xfbml: true});
                FB.Event.subscribe('auth.login', function(response) {
                window.location.reload();
      });
</script>

Но когда они выходят из системы, я хочу, чтобы клиент щелкнул ссылку выхода из системы на моем веб-сайте. Как я могу программно выйти из Facebook, подключиться? Возможно, через json backend?

Я не хочу, чтобы клиент нажимал кнопку facebook, чтобы выйти из системы.

Я попробовал несколько способов, например: сбросить файл cookie для подключения к Facebook, созданный на моем веб-сайте, и он работает, но когда я пытаюсь снова войти в Facebook, это не удается.

Я знаю, что удаление cookie cookie просто не является чистым (fb autologoutlink=true все еще показывает, что я не вышел из системы.)

Я не могу позволить клиенту дважды щелкнуть по выходу из системы, я хочу, чтобы он использовал ссылку выхода из моего веб-приложения в качестве одного контроллера выхода.

Я использую ASP classic. Любое решение?

Ответы [ 2 ]

1 голос
/ 27 января 2011

Если пользователь вошел в систему через Facebook, вызовите этот фрагмент JS, когда пользователь выходит из вашего сайта (в зависимости от того, как вы осуществляете выход из системы, одним из возможных способов является использование onclick="", или если вы перенаправляете на «зарегистрировано» шаблон ", включите его туда):

<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    FB.init({appId: 'YOUR_APP_ID', status: true, cookie: true, xfbml: true});
    FB.logout(function(response) {});
  };
  (function() {
    var e = document.createElement('script'); e.async = true;
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
    document.getElementById('fb-root').appendChild(e);
  }());
</script>
0 голосов
/ 14 октября 2011

Вы можете использовать этот простой код:

  <div id="fb-root"></div>
  <script src="http://connect.facebook.net/en_US/all.js"></script>
  <script>
     FB.init({ 
        appId:'APPID HERE', cookie:true, 
        status:true, xfbml:true 
     });
  </script>

и это:

<fb:login-button autologoutlink="true" length="short" background="white" size="large" data-show-faces="true" perms="email,user_birthday,status_update,publish_stream">Login with Facebook</fb:login-button>
...