ADR-0012 made docs/issues/ canonical for the management scope only and left gitops, ThreadNet-Web and threadnet-call on GitLab "until the component adopts". That split produced exactly what it invited: two numbering worlds where management#20 and gitops#20 are different issues, drift nobody had to answer for (gitops#61 carried no milestone since 2026-08-11), and component backlogs that host sessions without lab access cannot read at all. The 46 open component issues are now files 0056-0101. The file id is the group-wide identifier; provenance lives in the frontmatter (new field `projekt` plus gitlab_iid) and in the filename, so "gitops#61" still finds 0091. Bodies are copied verbatim; comments and history stay on GitLab, as with the 2026-08-11 management import. Both scripts learned the second dimension: spiegel_issues.py routes each file to its origin project, reopens issues that are open in the repo but closed on the board, and writes the new iid back after creating one; gruppenpruefung.py checks drift across all four trackers instead of management alone. What the mirror cannot decide stays a finding, not a silent state. Two things needed a hand, both recorded in the files: gitops#61 had no milestone (M1 - it is a live account-takeover path) and carried two area labels where the schema holds one. The Gitea migration footers in the imported bodies point at decommissioned trackers; their links are removed, the provenance sentence stays. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
48 lines
2.3 KiB
Markdown
48 lines
2.3 KiB
Markdown
---
|
|
type: issue
|
|
id: "0094"
|
|
status: open
|
|
created: 2026-07-29
|
|
milestone: M3
|
|
priority: medium
|
|
projekt: threadnet-web
|
|
gitlab_iid: "4"
|
|
related: []
|
|
---
|
|
# Direkter Link zur 2FA/Passkey-Einrichtung in den Account-Settings
|
|
|
|
> Adoptiert aus [threadnet-web#4](https://git.lab/axion1337.chat/ThreadNet-Web/-/issues/4) (2026-08-18, ADR-0019). Kommentare und Verlauf bleiben dort; kanonisch ist ab jetzt diese Datei.
|
|
|
|
Übernommen aus gitops-Repo Issue #13 (dort geschlossen, siehe Verweis) - nach Testen
|
|
der Alternativen jetzt hier richtig verortet.
|
|
|
|
**Ausgangsproblem**: 2FA/Passkey-Selbsteinrichtung (`default-authenticator-totp-setup`/
|
|
`-webauthn-setup`, Authentik-Flow-Stages) ist aktuell nur über
|
|
`axion1337.chat/docs/setup/security.html` auffindbar, nicht direkt in den Account-Settings,
|
|
wo Nutzer sie erwarten würden.
|
|
|
|
**Geprüfte und verworfene Alternative**: MAS's OIDC-`account_management_uri`-Mechanismus
|
|
(den Element Web bereits über `externalAccountManagementUrl` in
|
|
`apps/web/src/components/views/settings/tabs/user/AccountUserSettingsTab.tsx` nutzt, aktuell
|
|
für den generischen "Konto verwalten"-Link zu MAS) unterstützt **keine** 2FA/TOTP/Passkey-
|
|
Deep-Link-Action. Live geprüft via
|
|
`https://account.axion1337.chat/.well-known/openid-configuration` →
|
|
`account_management_actions_supported`: nur `profile`, `devices_list`, `device_view`,
|
|
`device_delete`, `cross_signing_reset`, `sessions_list`, `session_view`, `session_end`.
|
|
Ergibt architektonisch Sinn - MAS delegiert 2FA komplett an Authentik als Upstream-SSO und
|
|
kennt selbst kein "TOTP einrichten"-Konzept.
|
|
|
|
Ein MAS-Template-Fork (Askama/Tera, `templates.path`) wurde ebenfalls verworfen (mehr
|
|
Aufwand/Wartungsrisiko als eine Client-Änderung, siehe ursprüngliche Diskussion in
|
|
gitops#13).
|
|
|
|
**Vorschlag**: einfacher, direkter Link (kein OIDC-Mechanismus nötig) - ein zusätzlicher
|
|
Button/Link neben dem bestehenden "Konto verwalten"-Link in `AccountUserSettingsTab.tsx`
|
|
(oder alternativ `SecurityUserSettingsTab.tsx`), der direkt auf Authentiks eigene
|
|
Setup-Seite(n) zeigt (`default-authenticator-totp-setup`/`-webauthn-setup`). Statische URL,
|
|
über Config konfigurierbar, kein Forken von MAS-Templates nötig.
|
|
|
|
---
|
|
*Migriert aus Gitea `sorb/ThreadNet-Web#4` — dort erstellt am 2026-07-29 von sorb.*
|
|
<!-- gitea-migration: sorb/ThreadNet-Web#4 -->
|