Mercurial > nebulaweb3
view default/assets/vendors/theme-widgets/vendor/mute/facebook/example/server-side-logout.php @ 0:1d038bc9b3d2 default tip
Up:default
author | Liny <dev@neowd.com> |
---|---|
date | Sat, 31 May 2025 09:21:51 +0800 |
parents | |
children |
line wrap: on
line source
<?php /** * Logging Users out of your App * * @author Xavier Barbosa * @since 13 February, 2013 * @link https://developers.facebook.com/docs/howtos/login/server-side-logout/ **/ use Mute\Facebook\App; /** * Default params **/ $app_id = "YOUR_APP_ID"; $app_secret = "YOUR_APP_SECRET"; $my_url = "YOUR_LOGOUT_URL"; session_start(); /** * The process **/ $app = new App($app_id, $app_secret); $code = $_REQUEST["code"]; if($_SESSION['state'] && ($_SESSION['state'] === $_REQUEST['state'])) { $params = $app->getOAuth()->getAccessToken($code); $_SESSION['access_token'] = $params['access_token']; $user = $app->get('me', array( 'access_token' => $params['access_token'], )); echo("Hello " . $user->name); // Logout button code added below echo "<br><a href='logout.php'>Click to log out</a>"; } else { echo("The state does not match. You may be a victim of CSRF."); die; } $token = $_SESSION["access_token"]; if($token) { $result = $app->delete('me/permissions', array( 'access_token' => $token, )); if($result) { session_destroy(); echo "User is now logged out."; } } else { echo("User already logged out."); }