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
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:
- Diese Option kann weggelassen werden, wenn die Standard-Logto-Domain verwendet wird, da die CLI die Ressource automatisch ableiten kann.
- 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.
Umgebungsvariable | CLI-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
- Du kannst eine
.env
-Datei im CLI-Stammverzeichnis oder in einem übergeordneten Verzeichnis erstellen, in dem sich die CLI befindet.
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
- 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