Hướng dẫn tích hợp SSO (3 File Mẫu)
1. callback.php (Xử lý nhận phản hồi từ SSO)
File xử lý khi Vuii.org trả thông tin người dùng về.
<?php
// callback.php - Xử lý phản hồi đăng nhập từ Vuii SSO
session_start();
$code = $_GET['code'] ?? '';
if (!empty($code)) {
// Thông tin App của bạn
$app_key = 'KEY_CỦA_BẠN';
$app_secret = 'SECRET_CỦA_BẠN';
// Xác minh 'code' với server Vuii.org
$url = "https://login.vuii.org/api_verify.php";
$data = [
'app_key' => $app_key,
'app_secret' => $app_secret,
'code' => $code
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
if (!empty($result['success']) && !empty($result['user'])) {
// Lưu thông tin user vào Session ứng dụng
$_SESSION['user_vuii'] = $result['user'];
header('Location: /dashboard.php');
exit();
}
}
echo "Đăng nhập thất bại hoặc mã xác thực không hợp lệ!";
2. login.php (Khởi tạo & Chuyển hướng đăng nhập)
Đặt link Đăng nhập gọi tới file này để điều hướng sang Vuii SSO.
<?php
// login.php - Chuyển hướng người dùng sang Vuii.org để xác thực
session_start();
$app_key = 'KEY_CỦA_BẠN';
$redirect_uri = urlencode('https://domain-cua-ban.com/callback.php');
// URL cổng SSO
$sso_url = "https://login.vuii.org/index.php?app_key={$app_key}&redirect_uri={$redirect_uri}";
// Điều hướng trình duyệt
header("Location: " . $sso_url);
exit();
3. logout.php (Đăng xuất phiên làm việc)
Xóa sạch session ứng dụng khi người dùng bấm Đăng xuất.
<?php
// logout.php - Đăng xuất khỏi ứng dụng
session_start();
// Hủy thông tin session người dùng
unset($_SESSION['user_vuii']);
session_destroy();
// Điều hướng về trang chủ
header('Location: /index.php');
exit();