comparison 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
comparison
equal deleted inserted replaced
-1:000000000000 0:1d038bc9b3d2
1 <?php
2
3 /**
4 * Logging Users out of your App
5 *
6 * @author Xavier Barbosa
7 * @since 13 February, 2013
8 * @link https://developers.facebook.com/docs/howtos/login/server-side-logout/
9 **/
10
11 use Mute\Facebook\App;
12
13 /**
14 * Default params
15 **/
16
17 $app_id = "YOUR_APP_ID";
18 $app_secret = "YOUR_APP_SECRET";
19 $my_url = "YOUR_LOGOUT_URL";
20
21 session_start();
22
23 /**
24 * The process
25 **/
26
27 $app = new App($app_id, $app_secret);
28
29
30 $code = $_REQUEST["code"];
31
32 if($_SESSION['state'] && ($_SESSION['state'] === $_REQUEST['state'])) {
33 $params = $app->getOAuth()->getAccessToken($code);
34 $_SESSION['access_token'] = $params['access_token'];
35
36 $user = $app->get('me', array(
37 'access_token' => $params['access_token'],
38 ));
39 echo("Hello " . $user->name);
40
41 // Logout button code added below
42 echo "<br><a href='logout.php'>Click to log out</a>";
43 }
44 else {
45 echo("The state does not match. You may be a victim of CSRF.");
46 die;
47 }
48
49 $token = $_SESSION["access_token"];
50 if($token) {
51 $result = $app->delete('me/permissions', array(
52 'access_token' => $token,
53 ));
54 if($result) {
55 session_destroy();
56 echo "User is now logged out.";
57 }
58 } else {
59 echo("User already logged out.");
60 }