-
Notifications
You must be signed in to change notification settings - Fork 12
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
Implement REST password provider support #3193
Changes from all commits
52aecc4
7b03e3e
93a4638
bdf6859
ef90a35
0bb7c52
93fc3f1
b2b1d6d
b174586
1c8db8b
42604b1
81d04b2
f536e96
fe19a27
dded23b
5226f80
7dafef0
6fe85f1
8f8f871
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -35,6 +35,7 @@ tower-http.workspace = true | |
axum.workspace = true | ||
axum-macros = "0.4.2" | ||
axum-extra.workspace = true | ||
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] } | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So pulling I'll try to do a PR to move to reqwest overall, because it feels a lot simpler, but I would like to avoid having a mix of both reqwest and the current http client There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes it's true such change should actually be in its own PR and be global. So for now I should use the current There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For the record, I replaced the |
||
rustls.workspace = true | ||
|
||
aide.workspace = true | ||
|
@@ -104,4 +105,5 @@ zxcvbn = "3.1.0" | |
insta.workspace = true | ||
tracing-subscriber.workspace = true | ||
cookie_store = "0.21.0" | ||
mockito = "1.5" | ||
sqlx.workspace = true |
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.
How does that work in terms of authentication, etc? It would be useful to include links here to specifications for the API of such services, if there is any
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.
REST password providers are a kind of Synapse modules. What they do is calling an identity provider on login (e. g. MA1SD), which itself implements a Matrix Identity Service API.
It takes over all API login calls (e. g. all authentications using the login API are authenticated against the identity provider), and creates an account in the Synapse database when an authentication is successful for a user which doesn't exist yet in the database.