Vault verbinden: „Neu anlegen“ scheitert mit 403 (Anmelde-Token ohne write:user) #234

Closed
opened 2026-10-28 17:24:13 +00:00 by alf · 3 comments
Owner

Im Fenster „Vault verbinden → Anderer Forgejo“ scheitert Neu anlegen auf dem Haupt-Forgejo (forgejo.lewerken.duckdns.org, Forgejo 15.0.9, Konto alf ist Admin) mit „Das Repository durfte nicht angelegt werden (fehlende Berechtigung)“.

Ursache (gemessen)

Das Token, das forge/login anlegt, hat die Rechte write:repository und read:user. Forgejo verlangt für POST /api/v1/user/repos zusätzlich write:user. Gemessen auf dem Git-Server von iris-server (gleiche Gitea-Basis 1.22):

  • write:repository + read:user → 403 „token does not have at least one of required scope(s): [write:user]“
  • write:repository + write:user → 201

Die Tests liefen gegen Attrappen, die das nie geprüft haben; „Neu anlegen“ hat damit auf keinem echten Forgejo je funktioniert (außer „Auf diesem Rechner bereitstellen“, das mit dem Passwort anlegt).

Behoben

  • Rechte des Anmelde-Tokens: write:repository + write:user (Linux-Server vault_forge.py, Mac-Server VaultSyncCore.swift). write:user schließt das Lesen ein.
  • Die Attrappen lehnen „Repository anlegen“ ohne write:user wie das echte Forgejo mit 403 ab (Regressionstest).
  • Wire-Doku angepasst.

Hinweis zur Sicherheit

write:user ist breiter als vorher: Das Token dürfte auch Profil und Schlüssel des Kontos ändern. Es liegt weiterhin nur in der Zugangsdaten-Datei außerhalb des Vaults und wird beim nächsten Anmelden desselben Rechners widerrufen (iris/Iris#230). Wer das nicht will, legt das Repository im Forgejo selbst an und wählt es in der Liste.

Nicht Teil dieses Issues

Die Meldung nennt weiter nur „fehlende Berechtigung“ und nicht Forgejos eigenen Text.

Im Fenster „Vault verbinden → Anderer Forgejo“ scheitert **Neu anlegen** auf dem Haupt-Forgejo (`forgejo.lewerken.duckdns.org`, Forgejo 15.0.9, Konto `alf` ist Admin) mit „Das Repository durfte nicht angelegt werden (fehlende Berechtigung)“. ## Ursache (gemessen) Das Token, das `forge/login` anlegt, hat die Rechte `write:repository` und `read:user`. Forgejo verlangt für `POST /api/v1/user/repos` zusätzlich `write:user`. Gemessen auf dem Git-Server von iris-server (gleiche Gitea-Basis 1.22): - `write:repository` + `read:user` → **403** „token does not have at least one of required scope(s): [write:user]“ - `write:repository` + `write:user` → 201 Die Tests liefen gegen Attrappen, die das nie geprüft haben; „Neu anlegen“ hat damit auf keinem echten Forgejo je funktioniert (außer „Auf diesem Rechner bereitstellen“, das mit dem Passwort anlegt). ## Behoben - Rechte des Anmelde-Tokens: `write:repository` + `write:user` (Linux-Server `vault_forge.py`, Mac-Server `VaultSyncCore.swift`). `write:user` schließt das Lesen ein. - Die Attrappen lehnen „Repository anlegen“ ohne `write:user` wie das echte Forgejo mit 403 ab (Regressionstest). - Wire-Doku angepasst. ## Hinweis zur Sicherheit `write:user` ist breiter als vorher: Das Token dürfte auch Profil und Schlüssel des Kontos ändern. Es liegt weiterhin nur in der Zugangsdaten-Datei außerhalb des Vaults und wird beim nächsten Anmelden desselben Rechners widerrufen (iris/Iris#230). Wer das nicht will, legt das Repository im Forgejo selbst an und wählt es in der Liste. ## Nicht Teil dieses Issues Die Meldung nennt weiter nur „fehlende Berechtigung“ und nicht Forgejos eigenen Text.
Author
Owner

PR #123 gemergt: fix(vault-sync): Anmelde-Token mit write:user, damit Neu anlegen funktioniert (iris/Iris#234)
iris/iris-linux-server#123

Commits:

  • fix(vault-sync): Anmelde-Token mit write:user, damit Neu anlegen funktioniert (iris/Iris#234)

Stand 2026-10-28: Korrektur gebaut

  • Geändert: Rechte des Anmelde-Tokens write:repository + write:user (Linux-Server vault_forge.py, Mac-Server VaultSyncCore.swift); Attrappen lehnen „Repository anlegen“ ohne write:user mit 403 ab; Wire-Doku.
  • Geprüft: Messung gegen das echte Forgejo auf iris-server (403 mit alten Rechten, 201 mit neuen; Probe-Token und Probe-Repository danach gelöscht). Linux-Server: Login-, Forge- und Forgejo-Service-Tests grün (41). Mac-Kern: 243 Prüfungen, 0 Fehler.
  • Nicht geprüft: gegen das Haupt-Forgejo (Version 15.0.9) selbst; die Mac-App (nicht neu installiert). Bis zum Neubau/Deploy bleibt der Fehler in der laufenden App. Behelf: Repository im Forgejo anlegen und in der Liste wählen.
  • Nicht deployt.
PR #123 gemergt: fix(vault-sync): Anmelde-Token mit write:user, damit Neu anlegen funktioniert (iris/Iris#234) https://forgejo.lewerken.duckdns.org/iris/iris-linux-server/pulls/123 Commits: - fix(vault-sync): Anmelde-Token mit write:user, damit Neu anlegen funktioniert (iris/Iris#234) --- **Stand 2026-10-28: Korrektur gebaut** - **Geändert:** Rechte des Anmelde-Tokens `write:repository` + `write:user` (Linux-Server `vault_forge.py`, Mac-Server `VaultSyncCore.swift`); Attrappen lehnen „Repository anlegen“ ohne `write:user` mit 403 ab; Wire-Doku. - **Geprüft:** Messung gegen das echte Forgejo auf iris-server (403 mit alten Rechten, 201 mit neuen; Probe-Token und Probe-Repository danach gelöscht). Linux-Server: Login-, Forge- und Forgejo-Service-Tests grün (41). Mac-Kern: 243 Prüfungen, 0 Fehler. - **Nicht geprüft:** gegen das Haupt-Forgejo (Version 15.0.9) selbst; die Mac-App (nicht neu installiert). Bis zum Neubau/Deploy bleibt der Fehler in der laufenden App. Behelf: Repository im Forgejo anlegen und in der Liste wählen. - **Nicht deployt.**
Author
Owner

PR #235 gemergt: fix(vault-sync): Anmelde-Token mit write:user, damit Neu anlegen funktioniert (#234)
#235

Commits:

  • fix(vault-sync): Anmelde-Token mit write:user, damit Neu anlegen funktioniert (#234)

Stand 2026-10-28: Korrektur gebaut

  • Geändert: Rechte des Anmelde-Tokens write:repository + write:user (Linux-Server vault_forge.py, Mac-Server VaultSyncCore.swift); Attrappen lehnen „Repository anlegen“ ohne write:user mit 403 ab; Wire-Doku.
  • Geprüft: Messung gegen das echte Forgejo auf iris-server (403 mit alten Rechten, 201 mit neuen; Probe-Token und Probe-Repository danach gelöscht). Linux-Server: Login-, Forge- und Forgejo-Service-Tests grün (41). Mac-Kern: 243 Prüfungen, 0 Fehler.
  • Nicht geprüft: gegen das Haupt-Forgejo (Version 15.0.9) selbst; die Mac-App (nicht neu installiert). Bis zum Neubau/Deploy bleibt der Fehler in der laufenden App. Behelf: Repository im Forgejo anlegen und in der Liste wählen.
  • Nicht deployt.
PR #235 gemergt: fix(vault-sync): Anmelde-Token mit write:user, damit Neu anlegen funktioniert (#234) https://forgejo.lewerken.duckdns.org/iris/Iris/pulls/235 Commits: - fix(vault-sync): Anmelde-Token mit write:user, damit Neu anlegen funktioniert (#234) --- **Stand 2026-10-28: Korrektur gebaut** - **Geändert:** Rechte des Anmelde-Tokens `write:repository` + `write:user` (Linux-Server `vault_forge.py`, Mac-Server `VaultSyncCore.swift`); Attrappen lehnen „Repository anlegen“ ohne `write:user` mit 403 ab; Wire-Doku. - **Geprüft:** Messung gegen das echte Forgejo auf iris-server (403 mit alten Rechten, 201 mit neuen; Probe-Token und Probe-Repository danach gelöscht). Linux-Server: Login-, Forge- und Forgejo-Service-Tests grün (41). Mac-Kern: 243 Prüfungen, 0 Fehler. - **Nicht geprüft:** gegen das Haupt-Forgejo (Version 15.0.9) selbst; die Mac-App (nicht neu installiert). Bis zum Neubau/Deploy bleibt der Fehler in der laufenden App. Behelf: Repository im Forgejo anlegen und in der Liste wählen. - **Nicht deployt.**
Author
Owner

PR #131 gemergt: docs(wire): Token-Rechte der Anmeldung write:user (iris/Iris#234)
alf/2ndbrain#131

Commits:

  • docs(wire): Token-Rechte der Anmeldung write:user (iris/Iris#234)

Stand 2026-10-28: Korrektur gebaut

  • Geändert: Rechte des Anmelde-Tokens write:repository + write:user (Linux-Server vault_forge.py, Mac-Server VaultSyncCore.swift); Attrappen lehnen „Repository anlegen“ ohne write:user mit 403 ab; Wire-Doku.
  • Geprüft: Messung gegen das echte Forgejo auf iris-server (403 mit alten Rechten, 201 mit neuen; Probe-Token und Probe-Repository danach gelöscht). Linux-Server: Login-, Forge- und Forgejo-Service-Tests grün (41). Mac-Kern: 243 Prüfungen, 0 Fehler.
  • Nicht geprüft: gegen das Haupt-Forgejo (Version 15.0.9) selbst; die Mac-App (nicht neu installiert). Bis zum Neubau/Deploy bleibt der Fehler in der laufenden App. Behelf: Repository im Forgejo anlegen und in der Liste wählen.
  • Nicht deployt.
PR #131 gemergt: docs(wire): Token-Rechte der Anmeldung write:user (iris/Iris#234) https://forgejo.lewerken.duckdns.org/alf/2ndbrain/pulls/131 Commits: - docs(wire): Token-Rechte der Anmeldung write:user (iris/Iris#234) --- **Stand 2026-10-28: Korrektur gebaut** - **Geändert:** Rechte des Anmelde-Tokens `write:repository` + `write:user` (Linux-Server `vault_forge.py`, Mac-Server `VaultSyncCore.swift`); Attrappen lehnen „Repository anlegen“ ohne `write:user` mit 403 ab; Wire-Doku. - **Geprüft:** Messung gegen das echte Forgejo auf iris-server (403 mit alten Rechten, 201 mit neuen; Probe-Token und Probe-Repository danach gelöscht). Linux-Server: Login-, Forge- und Forgejo-Service-Tests grün (41). Mac-Kern: 243 Prüfungen, 0 Fehler. - **Nicht geprüft:** gegen das Haupt-Forgejo (Version 15.0.9) selbst; die Mac-App (nicht neu installiert). Bis zum Neubau/Deploy bleibt der Fehler in der laufenden App. Behelf: Repository im Forgejo anlegen und in der Liste wählen. - **Nicht deployt.**
alf 2026-10-31 10:30:56 +00:00
Sign in to join this conversation.
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
iris/Iris#234
No description provided.