diff --git a/Kapitel 13/Tutorial.md b/Kapitel 13/Tutorial.md index c8e151b..ff09dc7 100644 --- a/Kapitel 13/Tutorial.md +++ b/Kapitel 13/Tutorial.md @@ -333,15 +333,41 @@ curl -u ":" \ -- Grant Type: *Client Credentials* -- Access Token URL: `https://id.twitch.tv/oauth2/token` -- Client ID / Secret eintragen -- Speichern und testen. +### Twitch OAuth2 Credential in n8n (Client Credentials Flow) -Referenz: [Twitch Auth‑Doku](https://dev.twitch.tv/docs/authentication) +Beim Anlegen in n8n → **Credentials → + Add → OAuth2 API**: + +- **Name:** Twitch API +- **Grant Type:** `Client Credentials` +- **Authorization URL:** `https://id.twitch.tv/oauth2/authorize` *(Pflichtfeld, wird in diesem Flow nicht genutzt)* +- **Access Token URL:** `https://id.twitch.tv/oauth2/token` +- **Client ID:** *(aus Twitch Developer Console)* +- **Client Secret:** *(aus Twitch Developer Console)* +- **Scope:** *(leer lassen)* +- **Authentication:** `Body` ← **wichtig, sonst Fehler** +- **OAuth Redirect URL:** `https://automation.bratonien.de/rest/oauth2-credential/callback` *(muss in Twitch-App eingetragen sein, auch wenn bei Client Credentials nicht genutzt)* + +Speichern → **Test** → sollte „Connected“ anzeigen. + +--- + +### Nutzung in HTTP Request Nodes +- **Authentication:** Predefined Credential Type → wähle dein `Twitch API` Credential +- **Headers:** + - `Client-Id: ` + +n8n setzt automatisch `Authorization: Bearer `. + +--- + +### Schnelltest in n8n +HTTP Request Node: +- Method: `GET` +- URL: `https://api.twitch.tv/helix/users?login=bratonien_tv` +- Header: `Client-Id: ` + +**Ergebnis:** JSON mit `data[0].id`, `login`, usw. – dann funktioniert OAuth2 korrekt. -> **Entscheidung & Begründung – Warum Client‑Credentials?** -> Für **Get Users**, **Get Videos**, **Get Clips** reicht ein App‑Token. Der Flow ist stabil, ohne User‑Login/Refresh‑Token‑Pflege. ---