getLoginUrl()); exit; } // ======================= // Callback nach erfolgreichem Login // ======================= if (isset($_GET['code'])) { $user = $graph->handleCallback($_GET['code']); $_SESSION['user_id'] = $user['id']; $_SESSION['user_name'] = $user['displayName']; $_SESSION['user_email'] = $user['email']; header('Location: test.php'); exit; } // ======================= // Logout // ======================= if (isset($_GET['logout'])) { session_destroy(); header('Location: test.php'); exit; } // ======================= // Wenn eingeloggt → Access Token automatisch prüfen/erneuern // ======================= if (isset($_SESSION['user_id'])) { try { // Automatische Prüfung + Refresh, falls nötig $accessToken = $graph->getValidAccessToken($_SESSION['user_id']); echo "

Willkommen, {$_SESSION['user_name']}

"; echo "

Email: {$_SESSION['user_email']}

"; echo '

Abmelden

'; echo '

Zugriffstoken:
' . htmlspecialchars($accessToken) . '

'; // Termine anzeigen $events = $graph->getCalendarEvents(5); echo "

Deine nächsten Termine:

"; // Termin erstellen $newEvent = $graph->createCalendarEvent( "Test-Termin", "2025-11-12T10:00:00", "2025-11-12T11:00:00", "Beschreibung für den Termin" ); echo "
Neuer Termin: ";
		echo json_encode($newEvent);
		echo "
"; // Termin löschen (Event-ID aus $events oder $newEvent) $deleted = $graph->deleteCalendarEvent($newEvent['id'] ?? ''); echo $deleted ? "Termin gelöscht" : "Löschen fehlgeschlagen"; } catch (Exception $e) { echo "

Fehler: {$e->getMessage()}

"; echo '

Neu anmelden

'; } } else { // Wenn kein Benutzer eingeloggt ist → Login-Link anzeigen echo 'Mit Microsoft anmelden'; } ?>