Skip to content

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.

  1. Otwieramy Baserow i przechodzimy do ustawień konta / workspace.
  2. Wchodzimy w Settings → Database tokens.
  3. Klikamy Create token +.
  4. Nadajemy nazwę, np. n8n sync.
  5. Wybieramy workspace oraz ustawiamy wymagane uprawnienia do tabel (read/write zgodnie z integracją).
  6. 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:

secrets.env
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.

  1. Logujemy się do NocoDB.
  2. Otwieramy menu użytkownika (lewy dolny róg).
  3. Wchodzimy w Account Settings → API tokens.
  4. Klikamy Add new API token.
  5. Nadajemy nazwę, np. n8n integration i zapisujemy.
  6. 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:

secrets.env
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:

compose.yaml
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.