Вход в мини-приложение через MAX
Подключите проверенный вход пользователей MAX и возможности устройства в мини-приложении.
Мини-приложение запускается внутри MAX по зарегистрированному HTTPS-адресу. Для публикации бота и мини-приложения нужен доступ к платформе MAX и её одобрение. Agnostic выполняет серверную проверку данных запуска и создаёт обычную сессию пользователя вашего приложения.
- Сохраните подключение бота MAX в нужном окружении проекта.
- Включите App Auth и разрешите адрес мини-приложения среди адресов приложения.
- Попросите разработчика включить вход MAX для каждого нужного окружения и
связать его с сохранённым подключением.
- Подключите браузерный адаптер App Kit и отправьте свежие данные запуска на
сервер для обмена на сессию. Проверьте вход, обновление сессии и выход.
- Проверьте приложение в нужных клиентах MAX перед публикацией.
Данные запуска действуют для входа пять минут и используются один раз. Если приложение сообщает об истёкшем или уже использованном запуске, закройте и снова откройте мини-приложение. Данные, прочитанные только в браузере, не заменяют серверную проверку личности.
MAX не передаёт email. У нового пользователя MAX email будет отсутствовать, а отдельный аккаунт с таким же именем или телефоном не объединяется автоматически. Действующий вход по email и паролю продолжает работать. При необходимости пользователь может добавить email через подтверждение адреса в вашем приложении.
Приложение может запросить контакт, показать сканер QR-кода, поделиться сообщением, управлять кнопкой «Назад» и использовать доступное хранилище устройства. Некоторые функции доступны только на iOS или Android, NFC — на Android. Проверяйте доступность перед показом действия. Отказ поделиться телефоном не должен мешать обычному входу; телефон используется только в этом мини-приложении.
Безопасное хранилище недоступно в веб-клиенте MAX. Не заменяйте его обычным хранилищем браузера для секретов. В браузере не должно быть токена бота или серверного Runtime SDK. Возможности устройства, включая биометрию, не заменяют сессию App Auth.
Подключить вход в созданное приложение
В исходниках AppKit подготовлен loginWithMax: передайте ему исходный initData из createMaxMiniApp(). Серверный путь /auth/max/exchange задаёт realm, origin и окружение и проверяет новую сессию перед cookie. Пользователь не выбирает подключение или права через форму входа. Переименованное окружение связывается с его реальным типом; переименование не снимает прежний запрет.
После потери ответа сначала прочитайте текущую сессию. Если она не подтверждена, откройте mini app заново для свежего запуска; прежний proof автоматически не повторяется. Исходники ещё требуют публикации AppKit и финальной проверки на настоящих клиентах MAX.