Antirius Auth Cloud для Laravel

Antirius Auth Cloud для Laravel

Пакет Composer для Laravel 10/11: вход через мессенджер на /login, сопоставление по телефону, реестр Composer на вашем Auth Cloud.

Скачать ZIP модуля
Версия 1.0.0

Laravel 10/11, PHP 8.1+ с openssl


Что делает модуль

  • Подменяет /login виджетом Auth Cloud при включении модуля.
  • Установка: composer require с https://id.antirius.com/composer/ или из ZIP.
  • Проверка JWT (RS256) через JWKS — без секретов облака на сервере.
  • Сопоставление только по users.phone; опциональное автосоздание пользователя.
  • Настройки: /admin/antirius-auth-cloud.
  • Перед включением администратор привязывает телефон через виджет.
  • Резервный вход по паролю на экране мессенджера включён по умолчанию; /login?abc_bypass=1 всегда доступен.

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

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

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

3. Добавьте origin сайта в разрешённые домены.

4. Скопируйте _id приложения — Application ID в настройках Laravel.


Установка через Composer

1. В composer.json: "repositories": [{ "type": "composer", "url": "https://id.antirius.com/composer/" }].

2. composer require antirius/laravel-auth-cloud

3. php artisan vendor:publish --tag=antirius-auth-cloud-config && php artisan migrate

4. Откройте /admin/antirius-auth-cloud, привяжите телефон админа, включите модуль.


Настройка

1. Форма /admin/antirius-auth-cloud или .env: AUTH_CLOUD_BASE_URL, AUTH_CLOUD_APP_ID, AUTH_CLOUD_ENABLED.

2. Привязка телефона администратора перед AUTH_CLOUD_ENABLED=true.

3. Опционально: AUTH_CLOUD_AUTO_CREATE, AUTH_CLOUD_DEFAULT_ROLE, AUTH_CLOUD_HIDE_PASSWORD_FALLBACK.


Параметры

ПараметрОписание
URL Auth CloudБазовый URL (API, JWKS, widget.js по умолчанию).
Application ID_id приложения из кабинета.
URL виджетаНеобязательно; по умолчанию {base_url}/widget.js.
Включить модульЗаменить /login виджетом.
АвтосозданиеСоздать пользователя, если нет совпадения по phone.
Роль по умолчаниюРоль для новых пользователей.
Скрыть резервный входТолько скрыть ссылку на экране мессенджера.

Как устроен вход

1. Гость открывает /login → AuthBotsWidget.init.

2. Подтверждение в мессенджере → POST session_id на /antirius-auth-cloud/callback.

3. Пакет запрашивает сессию, проверяет JWT, находит пользователя по phone, Auth::login().

4. Редирект на целевой URL.


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

Ссылка на экране мессенджера по умолчанию или прямой адрес:

https://ваш-сайт.ru/login?abc_bypass=1

Скрыть только ссылку на экране — в настройках модуля; URL выше остаётся рабочим.

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

JWT через JWKS (RS256); app_id в токене совпадает с Application ID. CSRF на callback. Секреты облака в Laravel не хранятся.

Требования

  • Laravel 10 или 11, PHP 8.1+ с openssl.
  • Исходящий HTTPS на Base URL.
  • Origin сайта в разрешённых доменах приложения.

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


Репозиторий Composer

Инстанс Auth Cloud отдаёт packages.json по /composer/. composer require скачивает zip с /download/antirius-auth-cloud-laravel.zip с проверкой shasum.

https://id.antirius.com/composer/


Установка из ZIP

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

2. Распакуйте в проект или добавьте path-репозиторий, выполните composer dump-autoload.

3. Опубликуйте config и выполните migrate, как выше.