Синхронизация пользователей — MultiSite User Sync
30
Плагин для синхронизации пользователей между независимыми сайтами WordPress. Основные возможности:
- Би-направленная синхронизация: Синхронизация пользователей между несколькими сайтами
- Гибкая настройка: Выбор ролей и полей для синхронизации
- REST API интеграция: Использование стандартного WordPress REST API
- Безопасная передача данных: Использование API ключей для аутентификации
- Автоматическая синхронизация: Регистрация, обновление и удаление пользователей
- Простой интерфейс: Удобная настройка через админку WordPress
Профессиональное решение для синхронизации пользовательской базы между независимыми сайтами WordPress. Плагин позволяет создать единую пользовательскую базу для нескольких сайтов, что особенно полезно для:
- Сетей интернет-магазинов
- Мульти-сайтовых проектов
- Корпоративных порталов
- Образовательных платформ
- Любых проектов с общей пользовательской базой
Ключевые особенности:
- Гибкая архитектура синхронизации:
- Поддержка произвольного количества удаленных сайтов
- Настройка синхронизации по ролям пользователей
- Выбор конкретных полей для синхронизации
- Поддержка пользовательских мета-полей
- Безопасная передача данных:
- Использование API ключей для аутентификации
- Передача данных через защищенные HTTPS соединения
- Валидация и санитизация всех входящих данных
- Логирование ошибок для отладки
- Автоматизация процессов:
- Автоматическая синхронизация при регистрации
- Мгновенное обновление при изменении профиля
- Синхронизация при удалении пользователей
- Обработка массовых операций
- Техническая реализация:
- Использование WordPress REST API
- Оптимизированные HTTP запросы
- Минимальное влияние на производительность
- Совместимость с популярными плагинами
- Административный интерфейс:
- Интуитивно понятная панель управления
- Динамическое добавление/удаление сайтов
- Визуальный выбор полей для синхронизации
- Статус синхронизации в реальном времени
Интеграция с другими плагинами:
- WooCommerce: Синхронизация клиентов и заказов
- BuddyPress: Синхронизация профилей сообщества
- LearnDash: Синхронизация студентов курсов
- Ultimate Member: Синхронизация кастомных полей профиля
1. Установка и настройка на всех сайтах
Требования:
- WordPress 5.0+
- PHP 7.2+
- Включенный REST API
- SSL сертификат (рекомендуется)
Установка на всех сайтах:
- Скачайте плагин на все сайты, которые нужно синхронизировать
- Активируйте плагин на каждом сайте
- Сгенерируйте API ключи на каждом сайте
Генерация API ключей:
На каждом сайте перейдите: Пользователи → Ваш профиль
- Прокрутите вниз до раздела "Application Passwords"
- Введите название (например, "User Sync API")
- Нажмите "Add New Application Password"
- Сохраните сгенерированный ключ
2. Настройка главного сайта
Перейдите: User Sync → Настройки
Шаг 1: Настройка синхронизируемых ролей
- Отметьте роли пользователей, которые нужно синхронизировать
- Например: Administrator, Editor, Subscriber
- Только пользователи с отмеченными ролями будут синхронизированы
Шаг 2: Настройка дополнительных полей
-
Выберите поля профиля для синхронизации:
- nickname: Никнейм пользователя
- description: Биография/описание
- user_url: Веб-сайт пользователя
- Все основные поля синхронизируются автоматически
Шаг 3: Добавление удаленных сайтов
- Нажмите "Добавить сайт"
-
Заполните поля:
- URL сайта: Полный адрес сайта (например, https://example.com)
- API ключ: Ключ, сгенерированный на удаленном сайте
- Повторите для всех сайтов в сети
- Сохраните настройки
3. Настройка удаленных сайтов
На каждом удаленном сайте нужно:
Добавить главный сайт:
- Перейдите в настройки плагина
- Добавьте главный сайт как удаленный
- Укажите API ключ главного сайта
- Сохраните настройки
Настройка REST API эндпоинтов:
Плагин создает следующие REST API эндпоинты:
-
/wp-json/user-sync/v1/register- Регистрация пользователя -
/wp-json/user-sync/v1/delete- Удаление пользователя
Важно: Убедитесь, что REST API доступен на всех сайтах.
4. Тестирование синхронизации
Тест 1: Регистрация нового пользователя
- На главном сайте создайте нового пользователя
- Проверьте, появился ли пользователь на удаленных сайтах
- Проверьте корректность данных
Тест 2: Обновление профиля
- Измените данные существующего пользователя
- Проверьте синхронизацию изменений
- Убедитесь, что пароль не отображается
Тест 3: Удаление пользователя
- Удалите пользователя на главном сайте
- Проверьте удаление на удаленных сайтах
- Убедитесь, что удаление не затрагивает контент
5. Процесс синхронизации
При регистрации пользователя:
- Пользователь регистрируется на сайте А
- Плагин собирает данные пользователя
- Отправляет POST запрос на все настроенные сайты
- На сайтах Б, В создаются соответствующие пользователи
- Возвращается статус выполнения
При обновлении профиля:
- Пользователь обновляет данные на сайте А
- Плагин отправляет обновленные данные
- На других сайтах данные обновляются
- Сохраняется история изменений
При удалении пользователя:
- Пользователь удаляется на сайте А
- Отправляется запрос на удаление по email
- Пользователь удаляется на всех сайтах
- Проверяется корректность удаления
API аутентификация:
- Используется Bearer токен авторизации
- Токен передается в заголовке Authorization
-
Формат:
Authorization: Bearer {api_key}
Проверки безопасности:
- Валидация API ключа
- Проверка домена отправителя
- Санитизация всех входных данных
- Проверка прав текущего пользователя
- Логирование подозрительных действий
Рекомендации по безопасности:
- Используйте уникальные API ключи для каждого сайта
- Регулярно обновляйте API ключи
- Используйте HTTPS для всех соединений
- Ограничьте доступ к API определенным IP адресам
- Мониторьте логи на предмет подозрительной активности
Оптимизация для больших сетей:
- Используйте очередь задач: Для массовой синхронизации
- Балансировка нагрузки: Распределите синхронизацию по времени
- Кэширование запросов: Кэшируйте часто используемые данные
- Оптимизация запросов: Используйте пагинацию для больших списков
Q: Нужно ли устанавливать плагин на все сайты?
A: Да, плагин должен быть установлен и настроен на всех сайтах, участвующих в синхронизации.
Q: Можно ли синхронизировать только определенных пользователей?
A: Да, используйте настройку ролей или кастомный фильтр для выборочной синхронизации.
Q: Что происходит при конфликте email адресов?
A: Плагин использует email как уникальный идентификатор. При конфликте данные обновляются.
Q: Синхронизируются ли пароли пользователей?
A: Да, но они передаются в зашифрованном виде и сохраняются в безопасном формате.
Q: Можно ли отключить синхронизацию для отдельных операций?
A: Да, используйте фильтр multisite_user_sync_should_sync для условной логики.
Q: Поддерживает ли плагин мультисайт WordPress?
A: Да, но рекомендуется использовать встроенные возможности мультисайта для такой конфигурации.
