WordPress плагин для авторизации через Яндекс. Регистрация и вход на WordPress и Woocommerce через Яндекс

WordPress плагин для авторизации через Яндекс. Регистрация и вход на WordPress и Woocommerce через Яндекс

WordPress плагин для авторизации через Яндекс ID

В данной статье вы узнаете о том, как интегрировать на свой сайт WordPress авторизацию через Яндекс. Я разработал и выложил в открытый доступ плагин Login Via Yandex. Вы можете ознакомиться с текстовым руководством по интеграции ниже, либо посмотреть видео-руководство в конце данной статьи.

Содержание

  1. Создание приложения в Яндекс ID
  2. Скачать плагин
  3. Установка и настройка плагина для авторизации через Яндекс ID
  4. Какие данные получаем от Яндекса и куда записываем
  5. Вход и регистрация
  6. Обязательно к прочтению

Создание приложения в Яндекс 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, а также выбираем тип отображения на сайте.

Путь до настроек Настройки плагина
Screenshot_1 Screenshot_2

Доступны следующие варианты отображения:

  1. Виджет — всплывающее окно поверх всех ваших окон. Более конверсионный вариант, симпатично смотрится на десктопе. Но занимает половину экрана на мобильном адаптиве. Зато не промахнешься!
  2. Кнопка — должна находится в определенном блоке (скрипт полностью заменяет содержимое блока на кнопку входа через Яндекс). При выборе кнопки — обязательно необходимо указать «ID — контейнера кнопки».
  3. Виджет и Кнопка — при выборе такого варианта на сайте будет отображен и виджет и кнопка, но не забудьте про заполнение обязательного поля «ID — контейнера кнопки».
  4. Ни виджет ни кнопка — при таком варианте ни виджет ни кнопка отображены не будут (реализовали такой вариант на случай необходимости отключения входа через Яндекс 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 Какие данные сохраняем
Screenshot_3 image

Соотв. вы также можете работать и с ними.

Вход и регистрация

На основе полученной почты пользователя от Яндекса происходит поиск в таблице пользователей. Если такая почта была найдена, пользователя логинит в аккаунт. Если не найдена, пользователя регистрирует и отправляется письмо с установкой пароля на полученную почту.

На этом всё. Авторизация через Яндекс ID интегрирована на ваш сайт. Если у вас возникли ошибки создавайте новую issues

Обязательно к прочтению

Ставьте звездочки этому репозиторию на Github и присоединяйтесь к разработке и улучшению данного плагина. Пишите в мой Telegram если у вас есть вопросы/предложения

Плагин не собирает никакой информации об использовании. Распространяется бесплатно. Плагин защищен лицензией GPL-2.0 license

Никита Ив
Никита Ив

Меня зовут Никита, я являюсь автором этой статьи. Занимаюсь веб-разработкой более 5-ти лет на стеке Laravel + Vue. Делюсь своим опытом, шишками и головной болью. Пишу полезные статьи, такие как эта. Подписывайтесь на наш телеграм канал, чтобы узнавать о появлении новых статей первыми, либо подпишитесь на рассылку, оставив почту в нашем боте ниже.

Другие записи по теме: Блог