Integrations
App connections
Per-app API credentials, redirect URLs and secrets for connecting external apps.
This page is available in Polish only for now. The commands, code and API calls below are the same in every language — an English translation is on its way. Open the Polish page
Integracje → Połączenia aplikacji to najprostszy sposób na podłączenie aplikacji webowej, mobilnej, backendu albo automatyzacji (n8n, Make, Zapier) do projektu.
Co dostajesz
- Klucz aplikacji — JWT podpisany sekretem projektu, z rolą (
anon,authenticated,service_rolelub dedykowaną rolą Postgres), nazwą aplikacji w claimieappi datą wygaśnięcia. - Adresy przekierowań logowania (OAuth, magic link) — dopisywane automatycznie do listy dozwolonych adresów Auth (także schematy mobilne, np.
myapp://auth/callback). - Sekret podpisu webhooków — zapisany w Vault, do weryfikacji wywołań między aplikacją a Edge Functions lub Database Webhooks.
- Gotowe pliki
.envdla Next.js, Vite, Expo, Fluttera, serwerów oraz nagłówki HTTP dla automatyzacji.
Jak używać klucza
Brama przyjmuje w nagłówku apikey wyłącznie klucz anon lub service_role projektu. Klucz aplikacji wysyłasz w Authorization: Bearer … — to on wyznacza rolę w bazie.
const db = createClient(process.env.SUPABASE_URL, process.env.SUPABASE_ANON_KEY, {
global: { headers: { Authorization: `Bearer ${process.env.HOSTBASE_APP_TOKEN}` } },
});
Dedykowana rola
Dla backendów i automatyzacji zalecamy dedykowaną rolę (app_<nazwa>_…) — na start nie ma żadnych uprawnień, więc nadajesz tylko to, czego aplikacja potrzebuje:
grant select, insert on public.zamowienia to app_raporty_ab12cd;
Unieważnianie
Unieważnienie połączenia z dedykowaną rolą usuwa rolę z bazy — klucz przestaje działać natychmiast. Klucze z rolami współdzielonymi pozostają ważne do daty wygaśnięcia; aby odciąć je wcześniej, obróć sekret JWT w Ustawienia → Klucze JWT.