// HEISE ONLINE — MOBILE & WEB
Appwrite: Passkeys für die eigene App mit selbst gehostetem Backend
Appwrite 2.5 führt Passkeys für Projekte und eine neue Zeitplanung für Functions ein. Zudem behebt das Update diverse Fehler.
Appwrite 2.5 erweitert die Anmeldung für Projekte um Passkeys und bietet eine neue Zeitplanung für Functions. Zudem behebt das Update für selbst gehostete Installationen mehrere Fehler beim Betrieb.
Mit Appwrite können Nutzer eine Backend-as-a-Service-Plattform für Web- und Mobilanwendungen selbst betreiben. Die Open-Source-Software stellt unter anderem Authentifizierung, Datenbanken, Dateispeicher und Functions über APIs und SDKs bereit. Alternativ lässt sich die Plattform aus der Appwrite Cloud beziehen. Die Entwicklung schreitet aktuell schnell voran – erst vor einem Monat erschien Appwrite 2.0.
Laut den Release Notes von Appwrite 2.5 lassen sich Passkeys nun in der Konsole für ein Projekt aktivieren. Für Webanwendungen wählen Administratoren dazu eine Domain aus den hinterlegten Web-Plattformen; native Android-Apps werden über das Signierzertifikat eingebunden. Davon zu unterscheiden ist die Anmeldung an einer selbst gehosteten Appwrite-Konsole: Dort stehen mit der mitgelieferten Konsolenversion 1.2.74 nur noch E-Mail-Adresse und Passwort zur Verfügung, nicht mehr die Schaltflächen für OAuth und Passkeys.
Functions können statt mit einem Cron-Ausdruck in einem festen Abstand von jeweils N Minuten starten. Appwrite weist jeder Function anhand ihrer ID einen festen Zeitpunkt innerhalb des Intervalls zu. Stündliche Jobs beginnen dadurch nicht zwangsläufig alle zur vollen Stunde. Einstellen lässt sich das unter „Settings/Executions“.
Der Executor wurde von Version 0.29.0 auf 1.1.2 aktualisiert. Nach einem Neustart konnte er bislang laufende Function-Runtimes aus dem Blick verlieren und deren Code entfernen; beim nächsten Beenden gerieten sie dann in eine Neustartschleife. Appwrite entfernt nun nicht mehr erfasste Runtimes beim Start des Executors. Außerdem fasst der Usage-Worker Schreibvorgänge zusammen, statt für jede Anfrage oder Ausführung einzeln in das mitgelieferte ClickHouse zu schreiben. Das soll dessen Last bei stark genutzten Installationen senken.
Bei TablesDB liefert getRow unmittelbar nach einem Transaktions-Commit nun den gespeicherten Datensatz statt einer veralteten Fassung oder eines 404-Fehlers. Für PostgreSQL kommt ein Trigramm-Index hinzu, der Abfragen mit startsWith, contains und endsWith unterstützt. Andere Datenbank-Backends weisen diesen Indextyp zurück. Operatoren auf verschlüsselten Spalten enden jetzt mit HTTP 400, statt den gespeicherten Wert zu beschädigen.
Für selbst gehostete Installationen von 2.4.0 sehen die Release Notes ein Upgrade mit anschließender Migration vor. Der Installer behält dabei die Datei docker-compose.override.yml, eigene HTTP- und HTTPS-Ports sowie die HTTPS-Einstellung bei. Wer mit --use-existing-config aktualisiert, muss das Executor-Image allerdings selbst auf openruntimes/executor:1.1.2 umstellen. Vor dem Upgrade empfiehlt das Projekt ein Backup.
Die Migration ergänzt unter anderem Datenbankspalten für Function-Intervalle und Android-Zertifikats-Fingerprints. Davon getrennt nennt Appwrite Einschränkungen beim Umzug eines einzelnen Projekts auf eine andere Installation oder in die Cloud: Unter anderem werden die Passkey-Richtlinie und Android-Zertifikats-Fingerprints dabei noch nicht übernommen. Sie müssen am Ziel erneut eingerichtet werden.
Alle Themen der kommenden iX im Überblick. Erscheint monatlich.