Как интегрировать на свой сайт WordPress авторизацию через Яндекс. Я разработал и выложил в открытый доступ плагин Login Via Yandex. Вы можете ознакомиться с текстовым руководством по интеграции ниже, либо посмотреть видео-руководство в конце данной статьи.
- Создание приложения в Яндекс ID
- Скачать плагин
- Установка и настройка плагина для авторизации через Яндекс ID
- Какие данные получаем от Яндекса и куда записываем
- PS
Для начала, вам понадобится перейти по ссылке и создать своё приложение в Яндекс, заполнив анкету из трёх шагов. В поле Webhook URI необходимо обязательно указать адрес, заменив «вашсайт.ру» на ваше доменное имя:
https://вашсайт.ру/wp-json/login_via_yandex/webhook
(пример для нашего сайта https://webseed.ru/wp-json/login_via_yandex/webhook)
После заполнения, вы получите ClientID и Client secret, эти токены пригодятся нам при настройки плагина на стороне WordPress.
После создания приложения в Яндексе, необходимо скачать, установить и настроить сам плагин.
Скачать плагин для интеграции авторизации с Яндекс ID на WordPress и Woocommerce можно на нашем сайте, а также в официальном репозитории плагинов WordPress.
Скачать плагин из репозитория Wordpress
После скачивания и установки плагина, переходим в "Меню админки"->"Вход через Яндекс" и заполняем обязательные поля ClientID и Client secret, а также выбираем тип отображения на сайте.
| Настройки плагина |
|---|
![]() |
Доступны следующие варианты отображения:
- Виджет — всплывающее окно поверх всех ваших окон. Более конверсионный вариант, симпатично смотрится на десктопе. Но занимает половину экрана на мобильном адаптиве. Зато не промахнешься!
- Кнопка — должна находится в определенном блоке (скрипт полностью заменяет содержимое блока на кнопку входа через Яндекс). При выборе кнопки — обязательно необходимо указать «ID — контейнера кнопки».
- Виджет и Кнопка — при выборе такого варианта на сайте будет отображен и виджет и кнопка, но не забудьте про заполнение обязательного поля «ID — контейнера кнопки».
- Ни виджет ни кнопка — при таком варианте ни виджет ни кнопка отображены не будут (реализовали такой вариант на случай необходимости отключения входа через Яндекс ID без деактивации плагина).
После авторизации, вы получаете доступ до следующих данных пользователя:
{
"first_name": "Иван",
"last_name": "Иванов",
"display_name": "ivan",
"emails": [
"test@yandex.ru",
"other-test@yandex.ru"
],
"default_email": "test@yandex.ru",
"default_phone": {
"id": 12345678,
"number": "+79037659418"
},
"real_name": "Иван Иванов",
"is_avatar_empty": false,
"birthday": "1987-03-12",
"default_avatar_id": "131652443",
"login": "ivan",
"old_social_login": "uid-mmzxrnry",
"sex": "male",
"id": "1000034426",
"client_id": "4760187d81bc4b7799476b42b5103713",
"psuid": "1.AAceCw.tbHgw5DtJ9_zeqPrk-Ba2w.qPWSRC5v2t2IaksPJgnge"
}Этими данными заполняются поля профиля пользователя (те, которые по умолчанию существуют в Wordpress: email, login, first_name, last_name). Остальные данные попадают в мета-значения профиля пользователя с приставкой yandex_* (yandex_phone, yandex_birthday, yandex_gender и т.д.).
| Таблица wp_usermeta | Какие данные сохраняем |
|---|---|
![]() |
![]() |
Соотв. вы также можете работать и с ними.
На этом всё. Авторизация через Яндекс ID интегрирована на ваш сайт. Если у вас возникли ошибки создавайте новую issues
Ставьте звездочки этому репозиторию и присоединяйтесь к разработке и улучшению данного плагина. Пишите в мой Telegram если у вас есть вопросы/предложения
Плагин распространяется бесплатно. Плагин защищен лицензией GPL-2.0 license


