我想爲我的網站編寫一個插件,使用HybridAuth 類與Facebook進行連接。Facebook使用HybridAuth登錄顯示錯誤您無法直接訪問此頁面
我只是想下面的代碼
function authenticatewith($provider) {
ini_set('display_errors','on');
//includes
$config = dirname(__FILE__) . '/hybridauth-2.1.2/hybridauth/config.php';
require_once("hybridauth-2.1.2/hybridauth/Hybrid/Auth.php");
$provider_name = $provider;
//$config = $this->getconfig($id);
try {
// initialize Hybrid_Auth with a given file
$hybridauth = new Hybrid_Auth($config);
// try to authenticate with the selected provider
$adapter = $hybridauth->authenticate($provider_name);
// then grab the user profile
$user_profile = $adapter->getUserProfile();
}
catch(Exception $e) {
echo "Error: please try again!";
echo "Original error message: " . $e->getMessage();
}
echo "User Details: ";
var_dump($user_profile);
}
當我調用此函數形成插件類。在瀏覽器中它顯示了以下錯誤:
You cannot access this page directly.
...並在瀏覽器的地址欄中的URL是這樣的:
搜索計算器我發現了一個類似的問題之後,介紹有關類似的問題,但我一直無法弄清楚如何到那裏申請的建議,我的代碼解決這個問題:
You cannot access this page directly - HybridAuth Social Login
最可能的問題是不同的域名,因爲我的網站運行在兩個不同的域名。
如何修復我的代碼以防止此問題?
更多詳細信息
我有(例如)在www.bca.com一個網站鏈接,然後當你點擊它進入,將訪問我寫了一個插件文件Controller.php這樣。通常,如果我在網站中保存一個文件夾,就像www.bca.com無法訪問的插件文件夾,而不是其他域名可訪問的文件夾。
我想說的是,會話是在bca.com開始的,但Hybridauth類保存在其他一些域中。我認爲這是錯誤即將到來的原因。
我試圖調試,發現該錯誤是從Endpoint.php以下行彈出文件
// Check if Hybrid_Auth session already exist
if (! $storage->config("CONFIG")) {
header("HTTP/1.0 404 Not Found");
die("You cannot access this page directly.");
}
我一直在試圖從最近3天內解決這個問題。但我堅持在這一點上有人幫助我。 在此先感謝
我有同樣的問題。但我知道是什麼造成的。我開始使用Zebra會話類。所以基本上這個腳本甚至找不到會話。有一件事我會考慮研究你的會話是如何完成的,這是不同的。我自己只需要找到一種方法讓這兩個人一起工作! – 2014-11-07 19:39:54
我之前遇到過這個錯誤,它是在這個時候,這個hybridauth lib需要從會話中檢索的信息不存在。修復導致信息在您的會話存儲中不可用的問題,並且您將通過此錯誤。 – Ericson578 2015-04-07 23:59:43