Хорошо, как следует из заголовка, я пытался заставить OAuth Facebook работать на моем локальном хосте /, я боролся с различными проблемами, но я просто не знаю, что случилось с моей последней проблемой, которая заключается в том, что страница загружается, и если пользователь вошел в систему, он показывает URL-адрес выхода из системы и UID, как и должно быть, и когда я нажимаю ссылку выхода, он выводит пользователя из Facebook, но при перенаправлении или перезагрузке UID все еще появляется, как и ссылка для выхода . Короче говоря, я не могу заставить свой сайт, работающий на моем локальном хосте, вывести меня из Facebook И на моем сайте! Любые мысли были бы огромной помощью. Вот мой код
<?php
session_start();
// store session data
include "src/facebook.php";
$facebook = new Facebook(Array(
"appId" => "xxx",
"secret" => "xxx"
));
$user = $facebook->getUser();
echo "UID: " . $user . "<br/>";
// THIS WAS MY FIRST TRY WHICH DIDNT SUCCEED
// if ($user) {
// $logoutUrl = $facebook->getLogoutUrl();
// echo "<a href='" . $logoutUrl . "'>Logout</a>";
// } else {
// $loginUrl = $facebook->getLoginUrl();
// echo "<a href='" . $loginUrl . "'>Login</a>";
// }
// WITH THE ABOVE CODE I GET:
// An error occurred with PHP-SDK. Please try again later.
// API Error Code: 191
// API Error Description: The specified URL is not owned by the application
// Error Message: Invalid redirect_uri: Given URL is not allowed by the Application configuration.
// THIS WAS MY SECOND TRY AFTER SEARCHING FOR INFO,
// ALL I DID WAS MANUALLY ADD THE
// REDIRECT URI AND ADDED ? , THE REASON IS IF I DIDN'T ADD IT,
// IT WOULD GIVE ME AN CSRF ERROR
// STATING THAT THE STATE VALUE IS NOT CORRECT, I SEARCHED FOR THE SOLUTION
// FOR THAT PROBLEM WITH NO LUCK SO I TRIED THIS
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
echo "<a href='" . $logoutUrl . "'>Logout</a>";
} else {
$loginUrl = $facebook->getLoginUrl(Array(
"redirect_uri" => "http://localhost/php-sdk/index.php?"
));
echo "<a href='" . $loginUrl . "'>Login</a>";
}
// WITH THE ABOVE CODE I NOW GET A UID AND THE LOGOUT URL DOES APPEAR, BUT ONCE I CLICK IT
// THE USER IS LOGGED OUT LIKE HE SHOULD BUT THEN ON REDIRECT OR RELOAD THE UID STILL
// APPEARS AND SO DOES THE LOGOUT LINK, EVEN THOUGH THE USER IS NOT LOGGED IN!!
?>