Skip to main content
У вас сайт на WordPress, и вы хотите, чтобы посетители входили через Telegram: QR-код на экране, подтверждение в мессенджере. Пользователь WordPress создаётся при первом входе.
Рецепт проверен на WordPress 6, плагине openid-connect-generic 3.11.3 и канале Telegram. Связка WordPress с другими каналами не проверялась.

Что понадобится

  • сервер Veriqa с адресом, доступным сайту; в продакшне — публичный HTTPS с действительным сертификатом;
  • бот Telegram, созданный через @BotFather;
  • права администратора WordPress.

Шаги

1

Разверните сервер Veriqa

С Docker следуйте быстрому старту self-hosted, без Docker установите сервер службой ОС.
2

Включите Telegram

Укажите токен и имя бота по разделу Telegram настройки каналов.
3

Объявите клиента с секретом

Клиент для WordPress — confidential, с client_secret и redirect_uri https://ваш-сайт/wp-admin/admin-ajax.php?action=openid-connect-authorize. Где его объявить, описывает шаг 4 быстрого старта self-hosted.
4

Поставьте и настройте плагин

Как поставить и настроить плагин openid-connect-generic, описывают разделы 1 и 2 страницы WordPress.
5

Уберите scope из обмена кода

Без этого шага вход завершается ошибкой на обмене кода. Подойдёт mu-plugin на стороне сайта или квирк на стороне Veriqa — см. раздел 3.

Как проверить

Начните вход на странице входа WordPress, отсканируйте QR-код и подтвердите вход в Telegram. В логе плагина появится login-success, а в WordPress — новый пользователь. Учётная запись создаётся без email: Telegram адреса не отдаёт. Если email на сайте обязателен, используйте канал Email или попросите адрес после первого входа — см. Что получится.

Куда дальше