0

我有这种情况。在 MVC 网络应用程序上,我们正在重写 url:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

所以网址可能是:

http://mysite.com/ControllerName/MethodName/Param1/Param2.......

现在我们需要在应用程序上实现一个 facebook 登录。我们只需从 git 上的 sdk 页面复制并粘贴代码

require 'facebook-php-sdk/src/facebook.php';

$facebook = new Facebook(array(
  'appId'  => 'YOUR_APP_ID',
  'secret' => 'YOUR_APP_SECRET',
));

// Get User ID
$user = $facebook->getUser();
if ($user) {
  try {
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $loginUrl = $facebook->getLoginUrl();
}

完成此操作后,$user 始终为 0,因为 facebook 返回 ?key=parm用户信息所在的“redirect_uri”。

Facebook 重定向到的实际 URL 如下所示:

http://localhost/tesis/?state=6713ce83f25b296abd372ccad20a244d&code=AQA6xxwPiiQt06luKaDD84dFxIXPuhO41RlCQcnV5K2ZtVjyKvZ3A7uqqOQlEX4To_CoT8nEmUjzS2YOVsdhU5CE3I_jfK2LsmkpLsty91-EeipIIvFQLqe6VFB_OHYcj_J0-jdhXfAdYFQ2jsA6Hejnw8bF1ezWtEaZCNnqgc_mQWhovkV8XmFzLFGsqjr52bq2b0wR8Au3ZOSvJUnperaT#_=_

所以我想我需要对 htaccess 做一些修改。但我不知道我需要做什么改变

4

1 回答 1

0

我也有同样的问题。我只是重定向到登录网址中的主页,如下所示:

$params = array('scope' => 'email','redirect_uri' => 'http://www.page.com/index.php');
$loginUrl = $facebook->getLoginUrl($params);

可能您可以重定向到“成功登录”页面(非 URL 友好)并包含指向历史记录的链接。

于 2012-11-22T05:02:16.043 回答