【问题标题】:how to log user out with facebook api如何使用 facebook api 注销用户
【发布时间】:2014-07-17 01:46:49
【问题描述】:

我正在尝试使用 facebook api 检查用户会话是否存在。

如果有人登录我想显示一个注销链接,

如果他们没有登录,我想显示一个登录链接。

不管它显示的是什么退出链接。我想可能是因为通话没有将用户注销??????

另外,验证受限页面的会话的最佳做法是什么? 我应该遵循我正在使用的相同概念吗?

 <?php if ($user): ?> // nothing else { redirect to login page?

这是我的代码。

  <?php if ($user): ?>
      <dd><a href="<?php echo $logoutUrl; ?>"><span class="fui-facebook"> </span>Logout</a>
        </dd>
    <?php else: ?>
                <dd><a href="<?php echo $loginUrl; ?>"><span class="fui-facebook"> </span>Sign In with Facebook</a>
                    </dd> 
    <?php endif ?>
            </dl> 
          </div>
        </div>
    </nav>

【问题讨论】:

  • var_dump($user)。如果他们已注销,此对象是否包含 status=&gt;'guest' 之类的内容?
  • 当我 var_dump 它给了我一个字符串 string(10) "11xxxx036"
  • 这样就可以通过条件语句了。显然,那么,您需要检查一个仅在用户登录时才存在的属性。该对象在登录时包含什么?至少,很可能是ID
  • 是的,所以我相信那是会话令牌。所以这是有道理的。但我似乎无法让它让我退出。
  • 有趣.. 该按钮将我从 facebook 注销,但字符串仍然存在,并且我网站上的链接没有改变。这可能是因为令牌仍然存在于我的网站中吗?

标签: php facebook


【解决方案1】:

使用此代码通过 facebook api 注销

FB.logout(function(response) { // 用户现在退出 });

如果您需要更多帮助,请访问https://developers.facebook.com/docs/reference/javascript/FB.logout/

【讨论】:

  • 当然可以,但是如何将它添加到 facebook 功能中?
  • if ($user) { $logoutUrl = $facebook->getLogoutUrl(); } else { $loginUrl = $facebook->getLoginUrl(array( 'scope' => 'user_about_me, user_checkins, friends_checkins, user_location, friends_location') ); }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多