Beveiliging · oefening 8 van 10

Credentials, OAuth en omgevingsconfiguratie

Haal geheimen uit de workflow en bouw de koppeling zo dat test en productie verschillende verbindingen kunnen gebruiken.

Waarom dit nodig is

API-keys, client secrets en refresh tokens mogen niet zichtbaar zijn in nodes, exports, screenshots of chatberichten.

Plaats in de eindoplossing

Wat draagt deze oefening bij?

Tot nu toe ging het vooral om functionaliteit. Nu wordt de koppeling beheerbaar: geheimen horen in credentials, omgevingsverschillen in configuratie en Exact-authenticatie later in OAuth.

Wat gebeurt er technisch?

  • n8n versleutelt credentialwaarden buiten de workflowdefinitie.
  • Domain restrictions beperken waar een credential mag worden meegestuurd.
  • Configuratievelden scheiden test- en productie-URLs van workflowlogica.
  • OAuth gebruikt korte access tokens en vernieuwbare refresh tokens in plaats van een gedeelde vaste key.
Doen én begrijpen

Bouwstappen met uitleg

Open workflow-editor
1

Gebruik de PowerLab Header Auth-credential.

Waarom?
Een secret in een node kan in exports, screenshots of foutlogs terechtkomen; een credential verwijst er alleen naar.
Wat moet dit opleveren?
Beveiligde endpoints werken zonder zichtbare key in de node.
2

Beperk de credential tot powerlab.rmeijer.eu.

Waarom?
Zelfs bij een verkeerd ingestelde HTTP-node mag de key niet naar een willekeurig extern domein worden gestuurd.
Wat moet dit opleveren?
De credential is alleen bruikbaar voor het labdomein.
3

Maak een centrale Config-node.

Waarom?
Base URL, provider en environment wijzigen per omgeving; businesslogica hoort niet te worden gekopieerd voor test en productie.
Wat moet dit opleveren?
Alle nodes lezen dezelfde configuratiewaarden.
4

Exporteer en inspecteer de workflow.

Waarom?
Je controleert praktisch dat secrets niet worden meegeleverd wanneer flows worden gedeeld of versiebeheerd.
Wat moet dit opleveren?
De export bevat alleen een credentialreferentie.
5

Bestudeer OAuth en OpenAPI.

Waarom?
Exact Online gebruikt later gebruikersautorisatie en tokens; OpenAPI helpt dezelfde API als Power Automate custom connector te beschrijven.
Wat moet dit opleveren?
Je begrijpt waar appregistratie, scopes, redirect URI en connectorconfiguratie passen.

Wat gaat er mis als je dit overslaat?

Secrets in workflows lekken gemakkelijk en zijn moeilijk centraal te roteren. Zonder omgevingsconfiguratie wordt testcode gekopieerd naar productie met verkeerde URLs of credentials.

GET

PowerLab-endpoint

Dit endpoint bootst het deel na dat later door Exact Online, een AI-provider of de documentservice wordt geleverd. Test het eerst los, zodat je begrijpt welke invoer en uitvoer de workflow verwerkt.

https://powerlab.rmeijer.eu/api/secure/ping
De sleutel wordt alleen in localStorage van deze browser gezet. In n8n gebruik je de vooraf ingestelde credential PowerLab API.

Extra endpoints en scenario’s

  • https://powerlab.rmeijer.eu/openapi.json

Kun je uitleggen waarom?

Beantwoord deze vragen in je eigen woorden voordat je de oefening afrondt. Het doel is niet alleen de juiste nodes plaatsen, maar de ontwerpkeuzes kunnen verdedigen.

  1. Waarom is een credentialreferentie veiliger dan een headerwaarde in de node?
  2. Wat is het verschil tussen een API-key en OAuth namens een gebruiker?
  3. Welke waarden veranderen tussen test en productie en welke logica hoort gelijk te blijven?

Klaar wanneer

Beveiligde endpoints werken via een credential en de geëxporteerde workflow bevat geen geheimen.