Implement MSC3861 support for OIDC authentication #209
Labels
No labels
Bug
Cherry-picking
Database
Dependencies
Documentation
Enhancement
Good first issue
Help wanted
Inherited
Matrix/Administration
Matrix/Appservices
Matrix/Auth
Matrix/Client
Matrix/Core
Matrix/Federation
Matrix/MSC
Matrix/Media
Meta
Meta/Packaging
Priority
Blocking
Priority
High
Priority
Low
Security
Status
Confirmed
Status
Duplicate
Status
Invalid
Status
Needs Investigation
Wont fix
old/ci/cd
old/rust
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: continuwuation/continuwuity#209
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Many server admins prefer to centralise their authentication, so they can use a single system for login across all of their applications, then use one (ideally MFA) system for their users to login.
This simplifies user management, but also helps avoid requests for user management features, as password management and 3PID are handled by the OIDC provider instead of the Matrix server.
The overall MSC3861 exists for this, and has not yet been merged, but it's approaching maturity and MSC2964 specifies a comprehensive list of endpoints a server would require to handle OIDC authentication.
Good!
This feature is very good!
conduit support OIDC status:
https://gitlab.com/famedly/conduit/-/merge_requests/587
Moved to here:
https://gitlab.com/famedly/conduit/-/merge_requests/676
That's legacy SSO from my understanding, still interesting though
I'd love to add this feature to my HS!
Please correct me if I'm wrong :
... Or perhaps OAuth2 doesn't prescribe canonical URIs for eg token introspection, and we'll have to use distinct APIs depending on what auth provider we support 😥
I skimmed through RFC6749 (oauth2) and RFC7662 (token introspection), I couldn't find no URI prescription.
So I guess auth providers are free to provide their own API endpoints.I found in Synapse's MSC3861 implementation that OpenID Connect Discovery can be queried at an auth provider's/.well-known/openid-configuration
to reveal its configuration.It seems that upstream conduit has an PR for SSO: https://gitlab.com/famedly/conduit/-/merge_requests/676
It has countless code flaws and problems, maintenance issues, and the author of the MR has left Conduit and has abandoned the MR. We will not be working off of this.
As I haven't really coded Rust (But Python, TypeScript and Go) at all, to me it doesn't appear that bad that we couldn't be working off it?
Duplicate of #765