Zum Hauptinhalt springen

Benutzerdefinierte UI-Assets mit CLI hochladen

Nachdem du deine benutzerdefinierte Anmelde-UI entwickelt hast, kannst du sie in Logto Cloud bereitstellen, um deinen Mandantenbenutzern zu dienen. Wie wir bereits in der Dokumentation "Bring your UI" eingeführt haben, kannst du dies erreichen, indem du die gezippten UI-Assets in Logto Console hochlädst.

Hier bieten wir eine weitere Option, um deine UI-Assets mit dem CLI-Befehl in die Cloud bereitzustellen, was nützlich ist, wenn du den Bereitstellungsprozess in ein NPM-Skript oder eine CI/CD-Pipeline integrieren möchtest.

Anweisungen

hinweis

Angenommen, du hast deine benutzerdefinierten Anmelde-UI-Assets im Verzeichnis /path/to/your/custom/ui/dist erstellt.

Der Bereitstellungsbefehl zippt automatisch deine UI-Assets, lädt sie in Logto Cloud hoch und setzt die benutzerdefinierte UI als Anmeldeerfahrung für deine Mandantenbenutzer.

Voraussetzungen

Da dieser Befehl mit der Logto Management API interagiert, ist eine Maschine-zu-Maschine-Anwendung erforderlich, um die Anfrage zu authentifizieren. Siehe diese Dokumentation, um zu erfahren, was die Logto Management API ist und wie man eine Maschine-zu-Maschine-Anwendung mit den erforderlichen Berechtigungen erstellt.

Befehlsoptionen

--help                                 Hilfe anzeigen
--version CLI-Version ausgeben
--auth Authentifizierungsdaten deiner Logto M2M-Anwendung. Z.B.: <app-id>:<app-secret>
--endpoint Logto-Endpunkt-URI, der auf deine Logto Cloud-Instanz verweist. Z.B.: https://<tenant-id>.logto.app/
--path, --experience-path Der lokale Ordnerpfad deiner benutzerdefinierten Anmeldeerfahrungs-Assets.
--resource, --management-api-resource Logto Management API Ressourcenindikator. Erforderlich bei Verwendung einer benutzerdefinierten Domain.
--verbose Ausführliche Ausgabe anzeigen. [Standard: false]

Befehl ausführen

Angenommen, deine App-ID ist foo, das App-Geheimnis ist bar und deine Mandanten-ID ist baz.

npx @logto/tunnel deploy --auth foo:bar --endpoint https://baz.logto.app --experience-path /path/to/your/custom/ui/dist

Wenn du eine benutzerdefinierte Domain für deinen Logto-Endpunkt verwendest, muss eine zusätzliche Option --management-api-resource (oder --resource) angegeben werden.

Da die Logto Management API Ressource immer auf https://<tenant-id>.logto.app/api festgelegt ist, kannst du den Befehl wie folgt ausführen:

npx @logto/tunnel deploy --resource https://baz.logto.app/api --auth foo:bar --endpoint https://your.custom.domain --experience-path /path/to/your/custom/ui/dist

Hinweis:

  1. Diese Option kann weggelassen werden, wenn die Standard-Logto-Domain verwendet wird, da die CLI die Ressource automatisch ableiten kann.
  2. Die Verwendung entweder der benutzerdefinierten Domain oder der Standard-Logto-Domain als Endpunkt führt zu identischen Ergebnissen.

Alternativ, wenn du bereits eine vorhandene Zip-Datei hast und diese direkt verwenden möchtest, kannst du die Option --zip-path angeben.

npx @logto/tunnel deploy --auth foo:bar --endpoint https://baz.logto.app --zip-path /path/to/your/custom/ui/dist.zip

Unterstützte Umgebungsvariablen

Der Bereitstellungsbefehl unterstützt auch Umgebungsvariablen und ordnet sie automatisch den entsprechenden Optionen zu.

Alle unterstützten Umgebungsvariablen sind unten aufgelistet und mit LOGTO_ vorangestellt.

UmgebungsvariableCLI-Option
LOGTO_AUTH--auth
LOGTO_ENDPOINT--endpoint
LOGTO_EXPERIENCE_PATH--experience-path
LOGTO_PATH--path
LOGTO_MANAGEMENT_API_RESOURCE--management-api-resource
LOGTO_RESOURCE--resource
LOGTO_ZIP_PATH--zip-path

Verwendung von Umgebungsvariablen

  1. Du kannst eine .env-Datei im CLI-Stammverzeichnis oder in einem übergeordneten Verzeichnis erstellen, in dem sich die CLI befindet.
.env
LOGTO_AUTH=foo:bar
LOGTO_ENDPOINT=https://your.custom.domain
LOGTO_EXPERIENCE_PATH=/path/to/your/custom/ui/dist
LOGTO_RESOURCE=https://baz.logto.app/api

Dann führe den Befehl aus, ohne die Optionen anzugeben.

npx @logto/tunnel deploy
  1. Alternativ kannst du diese Umgebungsvariablen direkt beim Ausführen des Befehls angeben.
LOGTO_AUTH=foo:bar LOGTO_ENDPOINT=https://your.custom.domain LOGTO_EXPERIENCE_PATH=/path/to/your/custom/ui/dist LOGTO_RESOURCE=https://baz.logto.app/api npx @logto/tunnel deploy