Бесплатный плагин для входа через VK ID на WordPress: как закрыли потребность, когда готовых решений не нашлось

от автора

Начал я делать очередной сайт на WordPress и решил упростить регистрацию пользователям. По этому пошел по схеме вход через другие сервисы. Как стало нынче модно-сковородно использовать авторизацию через ВК. Ее то я и решил прикрутить. Делал уже это раньше но вот сегодня столкнулся с проблемой.

Поиск готового решения: Был проведён поиск альтернатив. Официальные плагины из каталога WordPress либо не поддерживают VK ID, либо просто не работают с новым протоколом. На форумах и в обсуждениях — та же картина: Security Error и невозможность авторизоваться. То был плагин Miniorange social login… Но работать он не захотел, подозреваю дело в устаревшем API.

Ну полез искать я в этих ваших интернетах. В какой-то момент было найдено решение от одного разработчика за 5000 рублей. Судя по описанию, это был плагин с поддержкой VK ID, но платный. Платить за то, что можно сделать самостоятельно, желания не возникло. Тем более что задача, если разобраться, не такая сложная: у VK есть официальный VK ID Web SDK, который берёт на себя всю работу с новыми требованиями безопасности, обменом кода и получением данных пользователя.

Решение: свой плагин за вечер Была открыта документация VK ID и написан собственный плагин. Он занял буквально вечер.

Вот что он умеет:

  • Встраиваемая кнопка входа через шорткод [vkid_login]. Никаких всплывающих окон и редиректов — виджет отображается прямо в контенте страницы.

  • Автоматическая регистрация пользователей в WordPress сразу после успешной авторизации.

  • Передача данных профиля — имя, фамилия и email сохраняются в профиль, а отображаемое имя формируется как «Имя Фамилия».

  • Гибкая настройка прав — список запрашиваемых данных задаётся в админке.

  • Локальный SDK — библиотека VK ID лежит в папке плагина, а не грузится с внешнего CDN.

  • Никаких секретов — дополнительные ключи не используются и не хранятся, потому что в современной схеме они просто не нужны.

Почему это работает

Ключевой момент: VK ID SDK сам управляет безопасностью. Он генерирует все необходимые параметры, а обмен кода на токены происходит без участия дополнительных секретов. Это официально поддерживаемая схема для сайтов, и она безопаснее, чем кажется: токен действителен только для той сессии, в которой был получен.

Что в итоге

Плагин получился лёгким, без зависимостей от внешних CDN и без лишних настроек. Он распространяется под лицензией GPLv2 or later, то есть его можно свободно использовать, модифицировать и распространять, в том числе на коммерческих сайтах.

Плагин выложен для свободного скачивания: https://trapex.ru/vk-id-login-for-wordpress/

Там же — описание, инструкция по установке и требования. Если у вас была такая же проблема с «Security Error» и вы искали рабочее решение — возможно, этот плагин сэкономит вам вечер (или 5000 рублей).

Требования

  • WordPress 5.0+

  • PHP 7.4+

  • HTTPS на сайте (обязательное требование VK ID)

  • Аккаунт разработчика в VK ID с созданным приложением

Протестировал лично на php8.4/ WordPress 7.1 полет нормальный.

Плагин открыт, так что замечания и предложения приветствуются.


Больше информации:

Ссылка на проект: https://trapex.ru/vk-id-login-for-wordpress/

Почта для связи: sa@itp-corp.ru

Если у вас есть вопросы — пишите, не стесняйтесь)

ссылка на оригинал статьи https://habr.com/ru/articles/1081754/