Skip to main content

Marketplace

Das Veröffentlichen einer App im Marketplace macht sie für andere Kazzle Spaces verfügbar, um sie zu entdecken und zu installieren.

Was Veröffentlichung bewirkt

Veröffentlichung macht die App installierbar für andere Spaces. Nutzer sehen den Namen, Untertitel, das Symbol, den Publisher und die Sichtbarkeit der App und installieren sie dann in ihrem eigenen Space. Veröffentlichung erfordert einen subtitle in kazzle.config.ts — einen einzeiligen Tagline unter dem App-Namen. Die veröffentlichte Version verwendet den neuesten Commit auf main. Es gibt keinen separaten Release-Branch für veröffentlichte Apps. Die App-Definition wählt explizit, ob das Klicken auf eine installierte App eine Komponente öffnet, eine eingebettete oder externe URL öffnet oder keine Launch-Oberfläche hat. Apps können auch Kazzle-Identität vor dem Öffnen erfordern oder Lifecycle-Webhooks empfangen. Siehe Veröffentliche deine App für Anweisungen zum Veröffentlichen einer App.

Installationen

Wenn jemand eine veröffentlichte App installiert, erstellt Kazzle einen Installationsdatensatz in ihrem Space. Der installierende Space besitzt die Installation und alle damit verbundenen Daten.

Benutzeridentität

Wenn ein angemeldeter Kazzle-Nutzer eine installierte App öffnet, stellt Kazzle der App Informationen über den aktuellen Nutzer bereit. Kazzle fügt ein kurzlebiges JWT als Bearer-Token an. Die App kann das Token gegen Kazzles öffentliches JWKS verifizieren, um den Nutzer, Space und die Installation zu lesen. Das Token enthält diese Claims: Beispiel-Verifizierung:
Die App-Definition steuert das Launch-Verhalten für veröffentlichte Apps:
  • launch: wählt none, eine benannte App-Komponente oder eine URL mit explizitem eingebettetem oder externem Ziel.
  • kazzleAuth: required bedeutet, dass nur angemeldete Kazzle-Nutzer die App öffnen können; optional erlaubt das Öffnen der App ohne Kazzle-Identität.

Webhooks

Wenn die App-Definition eine webhookUrl enthält, sendet Kazzle HTTP-POST-Anfragen an sie, wenn die App installiert oder deinstalliert wird. app.installed enthält den Install-Schlüssel, den das Backend des Publishers zur Authentifizierung gegenüber der Per-Install-API verwenden kann:
app.uninstalled enthält das Event, die Install-ID, die App-ID, die Space-ID und die API-URL. Der Publisher sollte die Verwendung des Install-Schlüssels nach Erhalt dieses Events einstellen.

Per-Install-API

Jede Installation kann eine scoped API auf https://api.kazzle.app aufrufen. Aufrufe werden authentifiziert mit entweder dem Install-Schlüssel (vom Backend des Publishers) oder dem User-Identity-Token (von der gehosteten UI). Alle Operationen sind automatisch auf diese Installation beschränkt. Verfügbare Endpoints: Vollständige Request- und Response-Schemas sind in der Kazzle OpenAPI-Spezifikation unter https://api.kazzle.app/openapi.json unter diesen Pfaden veröffentlicht. Secrets, die über diese API geschrieben werden, sind im Ruhezustand verschlüsselt und isoliert auf die spezifische Installation. Sie sind getrennt von Secrets, die im Vault eines Spaces gespeichert sind.

Nächste Schritte