WordPress плагин для авторизации через Яндекс ID
В данной статье вы узнаете о том, как интегрировать на свой сайт WordPress авторизацию через Яндекс. Я разработал и выложил в открытый доступ плагин Login Via Yandex. Вы можете ознакомиться с текстовым руководством по интеграции ниже, либо посмотреть видео-руководство в конце данной статьи.
Содержание
- Создание приложения в Яндекс ID
- Скачать плагин
- Установка и настройка плагина для авторизации через Яндекс ID
- Какие данные получаем от Яндекса и куда записываем
- Вход и регистрация
- Обязательно к прочтению
Создание приложения в Яндекс ID
Для начала, вам нужно перейти по ссылке и создать своё приложение в Яндекс, заполнив анкету из трёх шагов. В поле 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.
Скачать плагин для авторизации через Яндекс ID для WordPress
(v1.0.2 от 03.09.2024)
Установка и настройка плагина для авторизации через Яндекс ID
После скачивания и установки плагина, переходим в «Главное меню админки»->»Вход через Яндекс» и заполняем обязательные поля 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
Видео руководство
https://www.youtube.com/watch?v=iEn4-2ybuHI
Обязательно к прочтению
Ставьте звездочки этому репозиторию на Github и присоединяйтесь к разработке и улучшению данного плагина. Пишите в мой Telegram если у вас есть вопросы/предложения
Плагин не собирает никакой информации об использовании. Распространяется бесплатно. Плагин защищен лицензией GPL-2.0 license