Skip to content

Conversation

Johennes
Copy link
Contributor

@Johennes Johennes commented Jul 24, 2025

Proposal

Fixes: #271
Fixes: #276
Fixes: #277
Fixes: #278
Fixes: #279
Fixes: #280
Fixes: #281
Fixes: #290
Fixes: #319
Fixes: #321
Fixes: #322
Fixes: #323
Fixes: #324

@Johennes Johennes force-pushed the johannes/matrix-1.15 branch from 383c3dd to 7ba8ee2 Compare July 24, 2025 13:15
@Johennes Johennes changed the title GSCXXX: TI-M on Matrix 1.15 GSC327: TI-M on Matrix 1.15 Jul 24, 2025
@Johennes Johennes marked this pull request as ready for review July 24, 2025 13:18
Comment on lines +102 to +103
In Summe überwiegen die Vorteile der neuen APIs. Neue TI-M Clients werden daher verpflichtet die
OAuth APIs zu verwenden.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Der derzeit einzige mir bekannte Authorization Server, der mit Synapse kompatibel ist, ist https://github.com/element-hq/matrix-authentication-service. Zur Kommunikation mit dem sektoralen IDP sind Pushed Authorization Requests erforderlich, die MAS aktuell nicht unterstützt. Hierfür gibt es mit element-hq/matrix-authentication-service#4847 aber einen PoC.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Synapse steht aktuell noch bei 1.12, so dass die Anhebung in TI-M auf element-hq/synapse#18731 blockt.

PKCE und State verpflichtend integriert sind. Des Weiteren erleichtert die Verwendung von OAuth die
Nachnutzung bestehender Libraries. Nachteilig ist hingegen, dass die neuen APIs nicht mit der
[User-Interactive Authentication] kompatibel sind. Konkret davon betroffen ist allerdings nur das
Reset der Cross-Signing Keys, wofür es mit [MSC4312] einen Workaround gibt.
Copy link

@denis-loh denis-loh Aug 29, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aus unserer Sicht betrifft es noch weitere APIs, die mit dem Workaround nicht abgedeckt sind: Löschen von Geräten (https://spec.matrix.org/v1.11/client-server-api/#post_matrixclientv3delete_devices) und Deaktivieren eines Accounts (z.B. in Verbindung mit Entzug der Nutzereinwilligung) (https://spec.matrix.org/v1.11/client-server-api/#post_matrixclientv3accountdeactivate). Der MSC lehnt sich strickt an einen konkreten Anwendungsfall, was Unsicherheiten bei den anderen Anwendungsfällen mit sich bringt. Es wäre daher empfehlenswert, einen MSC zu entwickeln, der alle Anwendungsfälle abdecken kann.

Diese APIs sollen zwar durch den MAS über eine WebUI abgedeckt werden, was aber zu Einschränkungen in der Nutzerführung führt: z.B. muss sich ein Nutzer erst in einer WebUI anmelden, um ein Gerät zu löschen, was Medienbrüche mitbringt bzw. weitere Anforderungen an eine sichere Implementierung der WebUI und des Browsers erfordert.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Für die anderen betroffenen APIs sollte es als Alternative im MAS UI auslösbare Aktionen geben, richtig. Der Medienbruch ist soweit ich verstehe zumindest beim Login gewollt. Bei den anderen Aktionen könnte man drüber streiten.

Der Workaround aus MSC4312 dokumentiert eigentlich nur was heute schon zwischen MAS und matrix.org passiert und ist definitiv nicht ideal. Für eine richtige Lösung bräuchte man einen Mechanismus um die Scopes eines Access Tokens temporär upgraden zu können. Da das wahrscheinlich nicht trivial ist und der Workaround prinzipiell funktioniert, würde ich das aber nicht als Blocker für 1.15 in TI-M sehen sondern eher als zukünftige Verbesserung.

@Johennes
Copy link
Contributor Author

Hier wird es entsprechend dem verbindlichen gematik Prozess in Zukunft ein formales Kommentierungsverfahren eines Feature- oder Spezifikationsdokumentes geben. Dieses Pull Request schließe ich daher.

@Johennes Johennes closed this Sep 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment