Skip to content
Snippets Groups Projects

Resolve "Add "logout" button"

Merged Benoît Harrault requested to merge 3-add-logout-button into master
2 files
+ 45
2
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 42
2
@@ -4,17 +4,57 @@ session_start();
require '../vendor/autoload.php';
require '../config.php';
if (isset($_GET['logout'])) {
$_SESSION['accessToken'] = '';
$_SESSION['refreshToken'] = '';
}
$accessToken = '';
if (isset($_SESSION['accessToken'])) {
$accessToken = $_SESSION['accessToken'];
}
$refreshToken = '';
if (isset($_SESSION['refreshToken'])) {
$refreshToken = $_SESSION['refreshToken'];
}
if (!$accessToken) {
header('Location: auth.php');
die();
}
$api = new SpotifyWebAPI\SpotifyWebAPI();
$api->setAccessToken($accessToken);
$session = new SpotifyWebAPI\Session(
$CLIENT_ID,
$CLIENT_SECRET
);
// Use previously requested tokens fetched from session
if ($accessToken) {
$session->setAccessToken($accessToken);
$session->setRefreshToken($refreshToken);
} else {
// Or request a new access token
$session->refreshAccessToken($refreshToken);
}
$scopes = $session->getScope();
$options = [
'scope' => [
'playlist-read-private',
'playlist-modify-private',
'user-read-private',
],
'auto_refresh' => true,
];
$api = new SpotifyWebAPI\SpotifyWebAPI($options, $session);
// Save new tokens, they might have been updated
$_SESSION['accessToken'] = $session->getAccessToken();
$_SESSION['refreshToken'] = $session->getRefreshToken();
// ################################################################
$user = $api->me();
Loading