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

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

Разработчик столкнулся с тем, что готовые плагины авторизации через VK ID перестали работать, и написал собственное решение — бесплатный плагин на трёх файлах под лицензией GPLv2 or later.

При создании очередного сайта на WordPress захотелось упростить жизнь посетителям — дать им возможность входить через сторонние сервисы. Автор решил прикрутить авторизацию через ВК, как сейчас нередко делают. Опыт подобных интеграций у него уже был, но на этот раз всё пошло не по плану. Плагин Miniorange social login, который он по памяти установил из каталога WordPress, отказался работать и выдавал ошибку — то ли из-за изменений в новом API, то ли по другой причине. Другие готовые решения оказались слишком громоздкими, а нужна была всего одна кнопка.

Ждать, пока разработчики исправят совместимость с API, автор не стал и отправился искать альтернативы. В интернете попадалось много всего, но ничего подходящего. Единственный более-менее приемлемый вариант — плагин неизвестного разработчика за 5000 рублей. Цена показалась завышенной: за 300 рублей ещё можно было бы подумать. Потратив на поиски больше получаса, автор решил, что быстрее написать плагин самому. Документация есть и у ВК, и у WordPress, плюс под рукой ИИ — задача хоть и нетривиальная, но выполнимая. На реализацию ушло меньше часа.

Что умеет плагин: кнопка входа встраивается через шорткод [vkid_login]. Оформление и CSS автор намеренно не делал — каждый подстроит под свой сайт. После успешной авторизации пользователь автоматически регистрируется в WordPress. Данные профиля — имя, фамилия и email — сохраняются, а отображаемое имя формируется как «Имя Фамилия». Список запрашиваемых данных настраивается в админке. SDK VK ID лежит локально в папке плагина, а не подгружается с внешнего CDN. Дополнительные ключи и секреты не используются и не хранятся — в современной схеме они просто не нужны.

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

В итоге плагин вышел лёгким, без зависимостей от внешних CDN и лишних настроек — всего три небольших файла. Распространяется под лицензией GPLv2 or later: можно свободно использовать, модифицировать и распространять, в том числе на коммерческих сайтах. Никаких 5000 рублей автор не просит. Страница плагина с описанием, инструкцией по установке и требованиями — https://trapex.ru/vk-id-login-for-wordpress/. Требования: WordPress 5.0+, PHP 7.4+, обязательный HTTPS, аккаунт разработчика в VK ID с созданным приложением. Лично протестировано на PHP 8.4 и WordPress 7.1 — полёт нормальный. Связаться можно по почте sa@itp-corp.ru.

Ссылка на основную публикацию