← Назад в ЛК

📖 SSO API Документация

Единая система авторизации для всех сервисов 609.SU

🔐 Важно: Все эндпоинты кроме check требуют авторизации. Для сервисов используйте параметр api_key или заголовок X-API-Key.
GET /yavnoe/api/auth.php?action=check
Проверяет текущую сессию пользователя. Возвращает данные если авторизован.
{
  "authorized": true,
  "user": {
    "id": 1,
    "username": "admin",
    "email": "admin@609.su"
  }
}
GET /yavnoe/api/auth.php?action=check_service
Проверяет API ключ сервиса. Используется для серверной авторизации.
Параметр Тип Обязательно Описание
api_key string Да API ключ сервиса (из БД services)
{
  "valid": true,
  "service": {
    "id": 1,
    "name": "Поиск",
    "domain": "609.su"
  }
}
GET /yavnoe/api/auth.php?action=user
Возвращает данные текущего авторизованного пользователя.
{
  "success": true,
  "user": {
    "id": 1,
    "username": "admin",
    "email": "admin@609.su"
  }
}
POST /yavnoe/api/auth.php?action=generate_token
Генерирует долгосрочный API токен для пользователя (30 дней).
{
  "success": true,
  "token": "a1b2c3d4e5f6...",
  "expires": "2026-04-21 18:52:21"
}
POST /yavnoe/api/auth.php?action=logout
Завершает сессию пользователя.
{
  "success": true
}
Интеграция

🔗 Подключение сервиса к SSO

Для интеграции вашего сервиса с SSO:

  1. Получите API ключ в таблице services БД sso
  2. При запросе к вашему сервису проверяйте cookie sso_session
  3. Для серверной проверки делайте запрос к /yavnoe/api/auth.php?action=check
  4. Если сессия не валидна — редирект на /yavnoe/login.php

Пример проверки на PHP:

<?php
// Проверка сессии через API
$token = $_COOKIE['sso_session'] ?? '';
$response = file_get_contents('https://609.su/yavnoe/api/auth.php?action=check');
$data = json_decode($response, true);

if ($data['authorized']) {
    // Пользователь авторизован
    $username = $data['user']['username'];
} else {
    // Редирект на вход
    header('Location: https://609.su/yavnoe/login.php');
}
?>