Projektisolation
Ein Projekt ist ein Produkt in Ihrem Workspace: eine Site, ein Shop, eine App. Seine Inhalte, Nutzer, Dateien, API-Schlüssel, Secrets und Anmelde-Domains gehören ihm allein, und zwischen zwei Projekten wird nichts geteilt.
Ein Schlüssel, ein Projekt
Ein API-Schlüssel wird innerhalb eines Projekts erstellt und gilt nur für dieses Projekt. Die Datenbank speichert keinen öffentlichen oder geheimen Schlüssel ohne eines. Wenn eine Anfrage eintrifft, wird das Projekt aus dem eigenen Eintrag des Schlüssels gelesen, nie aus einem Header, und eine Anfrage, die ein anderes Projekt nennt als ihr Schlüssel, wird abgelehnt.
Eine eigene API-Domain ändert daran nichts. Der Schlüssel wählt weiterhin das Projekt, und ein Schlüssel, der auf einer Domain vorgelegt wird, die zu einem anderen Projekt gehört, wird abgewiesen.
Auf ein Projekt begrenzte Teammitglieder
Eine für ein Projekt gewährte Rolle zählt nur für die Zeilen dieses Projekts. Ein Kunde mit zwei Sites erhält je eine Gewährung, und nichts, was er in der einen hält, reicht in die andere. Dieselbe Person kann Administrator eines Projekts sein und auf das nächste gar keinen Zugriff haben.
Die Zeilenregeln
Jede projektbezogene Tabelle trägt die ID des Projekts neben der des Workspace, und ihre Policy verlangt, dass beide zur Sitzung des Aufrufers passen. Bei Inhalten, Nutzern und Dateien entscheidet die Policy darüber hinaus, welche Zeilen der Aufrufer sehen darf. Bei Konfiguration, etwa Hooks, Zeitplänen und Domains, garantiert die Datenbank die Eingrenzung, und die Berechtigung zum Ändern wird geprüft, wenn die Anfrage eintrifft.
Staging und Produktion
Fóir hat keinen Testmodus und keine zweite Art von Schlüssel. Eine Staging-Umgebung ist ein zweites Projekt, mit eigenen Daten und eigenen Schlüsseln, und eine Config-Datei kann beide deklarieren und sie im Gleichlauf halten.
Details nachlesen
Die Authentifizierungs-Anleitung erklärt jede Art von Schlüssel, was sie enthalten kann und wie eine Anfrage an ihr Projekt gebunden wird.