Skip to main content

Маркетплейс

Публикация приложения на маркетплейсе делает его доступным для обнаружения и установки другими пространствами Kazzle.

Что делает публикация

Публикация делает приложение доступным для установки другими пространствами. Люди видят имя приложения, подзаголовок, значок, издателя и видимость, а затем устанавливают его в своё пространство. Для публикации требуется subtitle в kazzle.config.ts — однострочный слоган под названием приложения. Опубликованная версия использует последний коммит в main. Для опубликованных приложений нет отдельной ветки релиза. По умолчанию клик на опубликованное приложение открывает его развёрнутый интерфейс. Приложения могут опционально установить пользовательский URL запуска, требовать идентификацию Kazzle перед открытием или получать вебхуки установки и удаления. Инструкции по публикации приложения см. в разделе Публикация приложения.

Установки

Когда кто-то устанавливает опубликованное приложение, Kazzle создаёт запись об установке в их пространстве. Пространство, выполняющее установку, владеет установкой и всеми связанными с ней данными.

Идентификация пользователя

Когда авторизованный пользователь Kazzle открывает установленное приложение, Kazzle предоставляет приложению информацию о текущем пользователе. Kazzle прикрепляет недолгоживущий JWT в качестве токена-носителя. Приложение может проверить токен по открытому JWKS Kazzle, чтобы прочитать пользователя, пространство и установку. Токен содержит эти утверждения: Пример проверки:
Два поля в манифесте приложения управляют поведением запуска для опубликованных приложений:
  • kazzleAuth: required означает, что только авторизованные пользователи Kazzle могут открыть приложение; optional позволяет открыть приложение без идентификации Kazzle.
  • launchUrl: переопределяет точку входа, которая открывается при клике пользователя на приложение.

Вебхуки

Если манифест включает webhookUrl, Kazzle отправляет HTTP POST запросы на него при установке или удалении приложения. app.installed включает ключ установки, который бэкенд издателя может использовать для аутентификации к API для конкретной установки:
app.uninstalled содержит событие, ID установки, ID приложения, ID пространства и URL API. Издатель должен прекратить использование ключа установки после получения этого события.

API для конкретной установки

Каждая установка может вызывать ограниченный API на https://api.kazzle.app. Вызовы аутентифицируются либо ключом установки (из бэкенда издателя), либо токеном идентификации пользователя (из размещённого интерфейса). Все операции автоматически ограничены этой установкой. Доступные эндпоинты: Полные схемы запросов и ответов опубликованы в спецификации OpenAPI Kazzle по адресу https://api.kazzle.app/openapi.json под этими путями. Секреты, записанные через этот API, зашифрованы в покое и изолированы для конкретной установки. Они отделены от секретов, хранящихся в хранилище пространства.

Следующие шаги