Tokeny API
Konfiguracja
Tokeny API są generowane w celu umożliwienia n8n bezpiecznego, dwukierunkowego dostępu do danych przechowywanych w Baserow lub NocoDB. Dzięki nim n8n może odczytywać i modyfikować rekordy w tabelach bez użycia danych logowania użytkownika.
Założenia konfiguracyjne:
- Dostępny jest interfejs web Baserow lub NocoDB.
- Konto ma uprawnienia do tworzenia tokenów API.
- Plik sekretów n8n znajduje się w
/srv/docker/secrets/n8n/secrets.env.
Token Baserow
Token służy do uwierzytelniania żądań API Baserow w automatyzacjach.
- Otwieramy Baserow i przechodzimy do ustawień konta / workspace.
- Wchodzimy w Settings → Database tokens.
- Klikamy Create token +.
- Nadajemy nazwę, np.
n8n sync. - Wybieramy workspace oraz ustawiamy wymagane uprawnienia do tabel (read/write zgodnie z integracją).
- Zapisujemy token i kopiujemy jego wartość.
Wymagany zapis tokenu
Token jest sekretem. Wartość przechowujemy wyłącznie w plikach sekretów, a nie w plikach Compose.
Dodanie wpisu do pliku secrets.env
Plik służy do przechowywania sekretów, które są wczytywane przez n8n jako zmienne środowiskowe.
Tworzymy / Otwieramy plik:
sudo micro /srv/docker/secrets/n8n/secrets.env
Dodajemy token w wymaganym formacie i zapisujemy plik:
BASEROW_API_TOKEN=PASTE_TOKEN_HERE
Użycie tokenu Baserow w n8n
Token jest używany w nagłówku Authorization dla API Baserow.
Format nagłówka:
Authorization: Token <BASEROW_API_TOKEN>
Błędy 401 najczęściej wynikają z braku prefiksu Token lub braku spacji po prefiksie.
Token NocoDB
Token służy do uwierzytelniania żądań REST API NocoDB.
- Logujemy się do NocoDB.
- Otwieramy menu użytkownika (lewy dolny róg).
- Wchodzimy w Account Settings → API tokens.
- Klikamy Add new API token.
- Nadajemy nazwę, np.
n8n integrationi zapisujemy. - Kopiujemy wygenerowany token.
Dodanie wpisu do pliku secrets.env
Tworzymy / otwieramy plik:
sudo micro /srv/docker/secrets/n8n/secrets.env
Dodajemy token w wymaganym formacie i zapisujemy plik:
NOCODB_API_TOKEN=PASTE_TOKEN_HERE
Użycie tokenu NocoDB w n8n
n8n używa tokenu API NocoDB w oparciu o ustawienia poświadczeń NocoDB (API Token + Host).
NocoDB wspiera uwierzytelnianie tokenem m.in. przez nagłówek xc-token, a także przez Authorization (od wersji v0.264.7).
Test zmiennych
Test potwierdza, że wpisy są poprawnie odczytywane jako zmienne środowiskowe.
set -a
source /srv/docker/secrets/n8n/secrets.env
set +a
echo "$BASEROW_API_TOKEN"
echo "$NOCODB_API_TOKEN"
Dodanie secrets.env do Compose
Sekcja zapewnia, że plik secrets.env jest wczytywany przez kontener n8n po app.env.
Otwieramy plik Compose:
sudo micro /srv/docker/compose/n8n/compose.yaml
W sekcji usługi n8n dodajemy secrets.env jako drugi plik środowiskowy do już isteniającego app.env:
services:
n8n:
env_file:
- /srv/docker/secrets/n8n/secrets.env
Uwagi utrzymaniowe
- Po rotacji tokenu w Baserow lub NocoDB aktualizujemy odpowiadającą zmienną w
/srv/docker/secrets/n8n/secrets.env. - Tokenów nie zapisujemy w repozytorium ani w plikach Compose.