-
Notifications
You must be signed in to change notification settings - Fork 11
GSC327: TI-M on Matrix 1.15 #327
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
383c3dd
to
7ba8ee2
Compare
In Summe überwiegen die Vorteile der neuen APIs. Neue TI-M Clients werden daher verpflichtet die | ||
OAuth APIs zu verwenden. |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
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. |
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