-
Notifications
You must be signed in to change notification settings - Fork 269
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
feat(auth): get rid of the cargo feature flag for OIDC 🔥 #4635
base: main
Are you sure you want to change the base?
Conversation
OIDC authentication has been used in production in multiple embeddings of the Matrix Rust SDK, some of them for months already, and they're considered stable for everyday use. As such, the feature is not considered experimental anymore, especially since the future of authentication will rely on OIDC and related mechanisms.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #4635 +/- ##
=======================================
Coverage 85.73% 85.73%
=======================================
Files 292 292
Lines 33492 33492
=======================================
+ Hits 28715 28716 +1
+ Misses 4777 4776 -1 ☔ View full report in Codecov by Sentry. |
Now trying to pinpoint which previously-optional dependency requires to compile udp on wasm… |
It's |
There is #4593, fwiw. |
It might also be a little premature to remove the feature, given that it doesn't implement the latest versions of the MSCs (#4550 and downgrading to OAuth 2.0 instead of OIDC). |
We discuss it internally, and we still think it's fine to get rid of the feature. Our implementation is quite stable and "production-ready", in that it's used in the ElementX apps. While it's also been constantly evolving for years, this is the fate of such a feature, and changes are expected to happen slowly and in a non-disruptive manner, which is a sufficient sign of maturity. On the other hand, getting rid of the |
OIDC authentication has been used in production in multiple embeddings of the Matrix Rust SDK, some of them for months already, and they're considered stable for everyday use. As such, the feature is not considered experimental anymore, especially since the future of authentication will rely on OIDC and related mechanisms.
The cross-process lock used for OIDC relies on the encryption crate, which implements a cross-process locking mechanism. So lots of code have to be guarded against the
e2e-encryption
feature flag, as we need to have access to the crypto features to enable the cross-process lock, unfortunately. This dependency should go away as soon as we generalize the concept of the cross-process lock, so it doesn't make use of the crypto store for that purpose.