1
0
mirror of https://github.com/matrix-org/matrix-authentication-service.git synced 2025-11-19 00:26:27 +03:00
Commit Graph

74 Commits

Author SHA1 Message Date
Quentin Gliech
be5b527403 graphql: admin API to add a user, lock them, and add emails without verification 2023-09-01 11:34:58 +02:00
Quentin Gliech
7fcd022eea Make sure we validate passwords & emails by the policy at all stages
Also refactors the way we get the policy engines in requests
2023-08-30 19:39:39 +02:00
Quentin Gliech
a19f405e53 graphql: Expose the BrowserSession User-Agent 2023-08-29 17:38:01 +02:00
Quentin Gliech
1849b86a7d graphql: Always make the associated SSO login available in compatibility sessions 2023-08-29 16:53:38 +02:00
Quentin Gliech
ba98b7c448 graphql: API to query client sessions out of a device_id and a user ID 2023-08-29 16:53:38 +02:00
Quentin Gliech
438a10332a Add the user_id directly on oauth2_sessions and make the scope a text list 2023-08-29 12:52:24 +02:00
Quentin Gliech
85629820fd api: Add a finishedAt property to the BrowserSession and a state property to all 3 session types 2023-08-29 08:34:07 +02:00
Quentin Gliech
17e28f56c1 Upgrade Rust to 1.72.0
Fixes new clippy errors and upgrade other tools
2023-08-28 18:05:56 +02:00
Quentin Gliech
096386e9b9 Save the application_type and the contacts in the OAuth 2.0 clients
This also removes the dedicated "redirect_uris" table and makes it a field of the "oauth2_clients" table
2023-08-28 14:41:49 +02:00
Quentin Gliech
c7153b08e3 Also make all the GraphQL mutations available for admins 2023-08-11 14:56:21 +02:00
Quentin Gliech
ca86e5a39e Better check for resource ownership in the GraphQL API 2023-08-11 14:56:21 +02:00
Quentin Gliech
4ef3bcf336 Make the GraphQL interface accessible for OAuth clients 2023-08-11 14:56:21 +02:00
Quentin Gliech
95890a660b mas-graphql: post-async-graphql upgrade fixes 2023-08-03 17:22:10 +02:00
Quentin Gliech
1e474518f5 graphql: API to set the user displayname (#1412) 2023-08-03 14:45:59 +00:00
Quentin Gliech
bbc50edb60 Better upstream OAuth links pagination and filtering 2023-07-21 19:50:30 +02:00
Quentin Gliech
517438471c Better upstream OAuth provider pagination and filtering 2023-07-21 19:50:30 +02:00
Quentin Gliech
6767c93a75 Better OAuth 2.0 sessions pagination and filtering 2023-07-21 19:50:30 +02:00
Quentin Gliech
a75a53cc24 Better user emails pagination and filtering 2023-07-21 19:50:30 +02:00
Quentin Gliech
12ad572db8 Better SSO login pagination and filtering 2023-07-21 19:50:30 +02:00
Quentin Gliech
24b29498a7 Better compatibility sessions pagination and filtering 2023-07-21 19:50:30 +02:00
Quentin Gliech
802cf142fd Remove the last authentication from the browser session model 2023-07-21 19:50:30 +02:00
Quentin Gliech
7e82ae845c WIP: use sea-query for dynamic paginated queries 2023-07-21 19:50:30 +02:00
Quentin Gliech
d250b6c50a Fix the compat sessions pagination in the GraphQL API 2023-07-07 11:04:51 +02:00
Quentin Gliech
ca520dfd9a frontend: Show all compatibilities sessions, not just SSO logins
Also cleans up a bunch of things in the frontend
2023-07-06 18:12:34 +02:00
Quentin Gliech
4f8b87fbfe Apply cargo fmt following changes in nightly rustfmt
rustfmt now formats `let … else { … }` expressions
2023-07-03 14:50:59 +02:00
Quentin Gliech
f67cc0d6d0 Frontend cleanups
Mainly:

 - better handling of GraphQL errors
 - better logout state
 - dependencies update
 - a way to end browser sessions in the GraphQL API
2023-06-20 16:53:53 +02:00
Quentin Gliech
4181cbc9d5 Refactor the matrix connection logic
Also make the display name available through the graphql api
2023-06-16 19:52:39 +02:00
Quentin Gliech
b56c2350a4 Buttons to end compat and OAuth2 sessions 2023-06-14 09:24:49 +02:00
Quentin Gliech
63d4bfd0d4 Ability to set the primary email and cleanup the email lists 2023-06-14 09:24:49 +02:00
Quentin Gliech
741873b84e Ability to remove emails 2023-06-14 09:24:49 +02:00
Quentin Gliech
ed5c367df6 Have better output types on mutations 2023-04-25 16:39:15 +02:00
Quentin Gliech
3b0f2ea1b0 Have a new viewer and viewerSession graphql query member
This deprecates `currentUser` and `currentBrowserSession`, but doesn't remove them (yet).

Also start to split the root query in multiple objects
2023-04-25 16:39:15 +02:00
Quentin Gliech
047a91907d Split the mutations and make them use an input object instead of different parameters 2023-04-25 16:39:15 +02:00
Quentin Gliech
c2d8243586 Have a Requester in the GraphQL API, in preparation for accessing it with OAuth credentials 2023-04-25 16:39:15 +02:00
Quentin Gliech
be765fe04f Setup GraphQL mutations to add and verify email addresses
This refactors a bit how the connection to the repository is done in the
graphql handler, so that we can properly commit transactions.
2023-04-25 16:39:15 +02:00
Quentin Gliech
1fbf60bf5d WIP: start GraphQL mutations 2023-04-25 16:39:15 +02:00
Quentin Gliech
83cb9158a0 Fix clippy errors 2023-03-14 10:47:35 +01:00
Quentin Gliech
a9facab131 Box the repository everywhere 2023-01-20 17:53:04 +01:00
Quentin Gliech
f4c64c2171 storage: ensure the repository trait can be boxed
and define some wrappers to map the errors
2023-01-19 19:10:35 +01:00
Quentin Gliech
73a921cc30 Split the storage trait from the implementation 2023-01-18 10:38:22 +01:00
Quentin Gliech
b33a330b5f storage: don't use references for pagination 2023-01-17 16:44:22 +01:00
Quentin Gliech
0d02864589 storage: simplify the paginated queries 2023-01-17 15:09:53 +01:00
Quentin Gliech
195203823a storage: wrap the postgres repository in a struct 2023-01-13 18:03:37 +01:00
Quentin Gliech
36396c0b45 storage: repository pattern for the compat layer 2023-01-12 15:41:26 +01:00
Quentin Gliech
920869b583 storage: do less joins in compat sessions 2023-01-10 18:49:35 +01:00
Quentin Gliech
35787aa072 data-model: have more structs use a state machine 2023-01-09 18:02:32 +01:00
Quentin Gliech
603a26eabd storage: oauth2 session repository 2023-01-05 16:44:56 +01:00
Quentin Gliech
e26f75246d storage: Load with less joins
This is done to simplify some queries, to avoid loading more data than
necessary, and in preparation of a proper cache layer
2023-01-04 18:06:17 +01:00
Quentin Gliech
09a567ab17 storage: OAuth2 client repository 2023-01-04 16:30:32 +01:00
Quentin Gliech
53172d6a3f strorage: browser session and user password repositories 2023-01-03 15:58:01 +01:00