Nachprüfung Paket 3: Excel mit delegierter Anmeldung, wiederholungssichere Tabellen (N05, N09) #41

Merged
thiel merged 1 commit from audit3 into main 2026-10-09 07:16:15 +00:00
Owner

Paket 3 aus der Nachprüfung (docs/08): echte Integrationen.

N05 – Excel mit unterstützter Anmeldung

  • Statt eines App-Tokens (client_credentials, für Workbook-Tabellen nicht unterstützt) gibt es jetzt eine delegierte Anmeldung: Autorisierungscode mit PKCE und den Berechtigungen offline_access Files.ReadWrite.All User.Read.
    • POST …/microsoft/start liefert die Adresse bei Microsoft. Der Zustand ist verschlüsselt und läuft nach 10 Minuten ab.
    • GET /integrations/microsoft/callback löst den Code ein, prüft das Recht „verwalten“ und speichert das Refresh-Token verschlüsselt, zusammen mit dem Konto zur Anzeige.
    • Das Refresh-Token wird bei jeder Erneuerung zurückgeschrieben, auch wenn die Zustellung danach scheitert.
    • Eine abgelaufene oder widerrufene Anmeldung meldet „bitte neu verbinden“. „Abmelden“ löscht das Token.
  • Graph-Endpunkte laut Dokumentation: rows/add und PATCH rows/{index}.
  • „Verbindung prüfen“ schreibt nichts, prüft aber das Schreibrecht des Tokens (scp).
  • Geführte Einrichtung: Link zur Datei einfügen, dann „Datei suchen“ (/shares/…/driveItem) und die Tabelle aus der Liste wählen. Laufwerks- und Datei-ID stehen nur noch unter „Datei-Kennungen“.
  • Konfiguration: MS_CLIENT_ID, MS_CLIENT_SECRET, MS_TENANT_ID optional (Standard organizations). Die Umleitungs-URI steht in docs/03.
  • Abnahme mit echtem Microsoft-Testtenant steht noch aus, abgesichert ist das bisher nur mit einem Testdouble.

N09 – Wiederholungssichere Tabellen

  • Google Sheets und Excel suchen die Antwort-ID im Ziel und aktualisieren eine vorhandene Zeile, sonst wird angehängt. Die Spalte „Antwort-ID“ wird bei Tabellenzielen erzwungen.
  • Je Verbindung und Antwort läuft immer nur eine Zustellung (Advisory Lock).
  • Neue Tabelle integration_links (Migration 0029): sending heißt Ausgang unklar, done mit Revision. Zeitüberschreitungen und 5xx-Fehler stehen im Protokoll als „Ausgang unklar – nächster Versuch sucht die Zeile“.
  • Korrekturen einer Antwort (Team oder Selbstbearbeitung) werden automatisch nachgetragen.
  • „Alle nachtragen“ überträgt nur Fehlendes bzw. Geändertes.

Doku: docs/03 (Einrichtung Excel, Wiederholungssicherheit), Handbuch und PDF, docs/08 Umsetzungsstand.

Tests

  • Google-Testdouble mit Zustand:
    • Bestätigungsverlust → automatische Wiederholung → manuelle Wiederholung → Korrektur → Nachtragen ergibt genau eine Zeile je Antwort
    • drei gleichzeitige Zustellungen ergeben eine Zeile
  • Graph-Testdouble:
    • Anmeldung mit PKCE, manipulierter Zustand, Konto, Erneuerung des Refresh-Tokens
    • Datei per Link, Prüfung
    • Anfügen, dann Aktualisieren statt Duplikat
    • Abmelden

🤖 Generated with Claude Code

https://claude.ai/code/session_015z57Agxa5kZg6szB3zFN3x

Paket 3 aus der Nachprüfung (docs/08): echte Integrationen. **N05 – Excel mit unterstützter Anmeldung** - Statt eines App-Tokens (`client_credentials`, für Workbook-Tabellen nicht unterstützt) gibt es jetzt eine **delegierte Anmeldung**: Autorisierungscode mit PKCE und den Berechtigungen `offline_access Files.ReadWrite.All User.Read`. - `POST …/microsoft/start` liefert die Adresse bei Microsoft. Der Zustand ist verschlüsselt und läuft nach 10 Minuten ab. - `GET /integrations/microsoft/callback` löst den Code ein, prüft das Recht „verwalten“ und speichert das Refresh-Token verschlüsselt, zusammen mit dem Konto zur Anzeige. - Das Refresh-Token wird bei jeder Erneuerung zurückgeschrieben, auch wenn die Zustellung danach scheitert. - Eine abgelaufene oder widerrufene Anmeldung meldet „bitte neu verbinden“. „Abmelden“ löscht das Token. - Graph-Endpunkte laut Dokumentation: `rows/add` und `PATCH rows/{index}`. - „Verbindung prüfen“ schreibt nichts, prüft aber das Schreibrecht des Tokens (`scp`). - **Geführte Einrichtung:** Link zur Datei einfügen, dann „Datei suchen“ (`/shares/…/driveItem`) und die Tabelle aus der Liste wählen. Laufwerks- und Datei-ID stehen nur noch unter „Datei-Kennungen“. - Konfiguration: `MS_CLIENT_ID`, `MS_CLIENT_SECRET`, `MS_TENANT_ID` optional (Standard `organizations`). Die Umleitungs-URI steht in docs/03. - **Abnahme mit echtem Microsoft-Testtenant steht noch aus**, abgesichert ist das bisher nur mit einem Testdouble. **N09 – Wiederholungssichere Tabellen** - Google Sheets und Excel suchen die Antwort-ID im Ziel und aktualisieren eine vorhandene Zeile, sonst wird angehängt. Die Spalte „Antwort-ID“ wird bei Tabellenzielen erzwungen. - Je Verbindung und Antwort läuft immer nur eine Zustellung (Advisory Lock). - Neue Tabelle `integration_links` (Migration 0029): `sending` heißt Ausgang unklar, `done` mit Revision. Zeitüberschreitungen und 5xx-Fehler stehen im Protokoll als „Ausgang unklar – nächster Versuch sucht die Zeile“. - Korrekturen einer Antwort (Team oder Selbstbearbeitung) werden automatisch nachgetragen. - „Alle nachtragen“ überträgt nur Fehlendes bzw. Geändertes. **Doku:** docs/03 (Einrichtung Excel, Wiederholungssicherheit), Handbuch und PDF, docs/08 Umsetzungsstand. **Tests** - Google-Testdouble mit Zustand: - Bestätigungsverlust → automatische Wiederholung → manuelle Wiederholung → Korrektur → Nachtragen ergibt genau eine Zeile je Antwort - drei gleichzeitige Zustellungen ergeben eine Zeile - Graph-Testdouble: - Anmeldung mit PKCE, manipulierter Zustand, Konto, Erneuerung des Refresh-Tokens - Datei per Link, Prüfung - Anfügen, dann Aktualisieren statt Duplikat - Abmelden 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_015z57Agxa5kZg6szB3zFN3x
Nachprüfung Paket 3: Excel mit delegierter Anmeldung, wiederholungssichere Tabellen (N05, N09)
All checks were successful
check / verify (pull_request) Successful in 11m41s
5dd4c8b7c6
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015z57Agxa5kZg6szB3zFN3x
thiel merged commit e952b73ff2 into main 2026-10-09 07:16:15 +00:00
thiel deleted branch audit3 2026-10-09 07:16:16 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
thiel/fobu!41
No description provided.