Antirius Auth Cloud для OpenCart

Antirius Auth Cloud для OpenCart

Вход через мессенджеры, уведомления о заказах через Message API, подтверждение e-mail в личном кабинете. OpenCart 3.0.x.

Скачать расширение
OpenCart 3.0.x

PHP 7.4+ с openssl, исходящий HTTPS к Auth Cloud


Что делает расширение

  • Перехватывает account/login и register; виджет Auth Cloud на отдельной странице входа.
  • Покупатель подтверждает вход в мессенджере; магазин получает session_id и обменивает его на JWT.
  • Проверка подписи JWT через JWKS (RS256) — без shared-секретов на сервере магазина.
  • Опциональное автосоздание покупателя при первом входе; технический e-mail @antirius.local до подтверждения реального адреса.
  • Сопоставление только по telephone; смена телефона в профиле — только через перепривязку в мессенджере.
  • Уведомления о смене статуса заказа через Message API (почта, мессенджер, оба, на выбор покупателя).
  • ЛК покупателя: проверка доставки в мессенджер, подтверждение e-mail кодом в мессенджер, выбор канала уведомлений.
  • Резервный вход по паролю на экране мессенджера включён по умолчанию; скрыть — настройкой.
  • Перед включением модуля администратор привязывает номер через виджет в настройках.

Перед установкой

1. Войдите в кабинет Auth Cloud и создайте приложение.

2. Подключите хотя бы одного бота (Telegram, WhatsApp или MAX) в настройках приложения.

3. Вкладка приложения «Сообщения»: скопируйте токен API отправки (POST /api/v1/message/send) — понадобится в настройках модуля OpenCart.

4. Добавьте origin витрины (схема + хост, например https://shop.example.com) в разрешённые домены.

5. Скопируйте _id приложения — Application ID в админке OpenCart.


Установка

1. Скачайте antirius-auth-cloud-opencart.zip по кнопке выше.

2. Админка OpenCart: Расширения → Установка расширений → загрузите zip или распакуйте каталог upload/ в корень магазина.

3. Расширения → Расширения → Модули → Antirius Auth Cloud → Установить.

4. Изменить: Base URL, Application ID, токен отправки, режим уведомлений о заказах, привязка телефона админа, «Проверить отправку», затем включите и сохраните.

5. При обновлении со старой версии: переустановите модуль один раз (или добавьте события истории заказа и таблицу antirius_customer_meta вручную).


Настройки модуля

ПараметрОписание
СтатусВключить замену стандартного входа покупателя.
Base URLURL инстанса Auth Cloud (например https://id.antirius.com).
Application ID_id приложения из кабинета.
URL скрипта виджетаНеобязательно; по умолчанию {base_url}/widget.js.
Автосоздание покупателяСоздать нового покупателя, если совпадение не найдено.
Группа покупателейГруппа для новых учётных записей.
СопоставлениеТолько телефон: customer.telephone совпадает с номером из Auth Cloud.
Токен API отправки сообщенийКабинет → приложение → «Сообщения». Уведомления о заказах и тестовая отправка. Пустое поле при сохранении не затирает уже сохранённый токен.
Уведомления о статусе заказаПри «Уведомить покупателя» в заказе: только e-mail, только мессенджер, оба или на выбор покупателя (при подтверждённых телефоне и почте). Канал доставки в мессенджерах выбирает Auth Cloud.
Проверить отправку (админ)Тестовое сообщение на привязанный телефон администратора.
Скрыть резервный вход на экране мессенджераНет (по умолчанию) — ссылка account/login?abc_bypass=1 на экране. Да — скрыть только ссылку.

Уведомления о заказах

При добавлении истории заказа с галочкой «Уведомить покупателя» расширение при необходимости вызывает POST /api/v1/message/send. Письмо OpenCart уходит, если в режиме есть e-mail. Магазин не выбирает Telegram или MAX — доставку выполняет Auth Cloud по настройкам приложения.

Только e-mailКак в стандартном OpenCart.

Только мессенджерБез письма OpenCart; текст на телефон покупателя (+…).

ОбаПисьмо и мессенджер.

На выбор покупателяПри подтверждённых телефоне и реальном e-mail покупатель выбирает канал в «Редактирование учётной записи». Иначе: мессенджер при заглушке почты, e-mail при обычном адресе.


Личный кабинет покупателя (Редактирование учётной записи)

1. Телефон только для чтения; смена — «Перепривязать» через мессенджер.

2. Блок «Уведомления» (если задан токен): «Проверить отправку» — покупатель проверяет доставку и решает, оставлять канал или нет.

3. Подтверждение e-mail: реальный адрес, код в мессенджер на привязанный телефон, затем подтверждение. Заменяет @antirius.local.

4. Канал уведомлений: e-mail / мессенджер — при режиме «на выбор покупателя» и подтверждённых телефоне и почте.


Сценарий входа

1. Покупатель открывает Аккаунт → Вход (маршрут account/login).

2. Расширение перенаправляет на extension/module/antirius_auth_cloud/login с виджетом и CSRF-токеном в сессии.

3. После подтверждения в мессенджере браузер отправляет POST session_id на extension/module/antirius_auth_cloud/callback.

4. Сервер магазина вызывает GET /api/v1/auth/session/{session_id}?type=full один раз, получает JWT, проверяет RS256 через /.well-known/jwks.json.

5. Расширение находит или создаёт покупателя, вызывает $this->customer->login(), редирект в личный кабинет или на исходный redirect.


Резервный вход по паролю

Ссылка на стандартную форму входа OpenCart на экране мессенджера включена по умолчанию. Можно открыть напрямую (cookie сохраняет режим обхода после POST):

index.php?route=account/login&abc_bypass=1

Чтобы скрыть только ссылку на экране, в настройках модуля выберите «Скрыть резервный вход на экране мессенджера» → Да. Прямой URL по-прежнему работает.

Безопасность

Callback принимает только POST и сверяет CSRF-токен из сессии OpenCart (abc_auth_token). JWT проверяется публичным ключом JWKS; app_id в токене должен совпадать с Application ID в настройках. Поля профиля берутся из мессенджера в момент входа и на Auth Cloud долго не хранятся.

Требования

  • OpenCart 3.0.x (MVC extension, events). OpenCart 4.x в этом пакете не поддерживается.
  • PHP 7.4+ с расширением openssl.
  • Исходящий HTTPS с сервера магазина на Base URL (API сессий, JWKS, widget.js).
  • Домен витрины в разрешённых доменах приложения в кабинете.

Документация