Isolamento dei progetti
Un progetto è un prodotto dentro il tuo workspace: un sito, un negozio, un'app. I suoi contenuti, utenti, file, chiavi API, secret e domini di login sono suoi, e tra due progetti non si condivide nulla.
Una chiave, un progetto
Una chiave API viene creata dentro un progetto e serve solo quel progetto. Il database non salva una chiave pubblica o segreta senza uno. Quando arriva una richiesta, il progetto viene letto dal record della chiave stessa, mai da un header, e una richiesta che indica un progetto diverso da quello della sua chiave viene rifiutata.
Un dominio API personalizzato non cambia questo. La chiave seleziona comunque il progetto, e una chiave presentata su un dominio che appartiene a un altro progetto viene rifiutata.
Membri del team limitati a un progetto
Un ruolo concesso su un progetto vale solo per le righe di quel progetto. Un cliente con due siti riceve una concessione su ciascuno, e nulla di ciò che ha su uno raggiunge l'altro. La stessa persona può essere amministratore di un progetto e non avere alcun accesso al successivo.
Le regole di riga
Ogni tabella legata a un progetto porta l'id del progetto accanto a quello del workspace, e la sua policy richiede che entrambi corrispondano alla sessione del chiamante. Per contenuti, utenti e file la policy prosegue decidendo quali righe il chiamante può vedere. Per la configurazione, come hook, pianificazioni e domini, il database garantisce il contenimento, e il permesso di modificarli viene controllato quando arriva la richiesta.
Staging e produzione
Fóir non ha una modalità di test né un secondo tipo di chiave. Un ambiente di staging è un secondo progetto, con i propri dati e le proprie chiavi, e un solo file di configurazione può dichiararli entrambi e tenerli allineati.
Leggi il dettaglio
La guida all'autenticazione spiega ogni tipo di chiave, cosa può contenere e come una richiesta viene legata al suo progetto.