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
76653f9638
Better frontend assets handling and move the react app to /account/ ( #1324 )
...
This makes the Vite assets handling better, namely:
- make it possible to include any vite assets in the templates
- include the right `<link rel="preload">` tags for assets
- include Subresource Integrity hashes
- pre-compress assets and remove on-the-fly compression by the Rust server
- build the CSS used by templates through Vite
It also moves the React app from /app/ to /account/, and remove some of the old SSR account screens.
2023-07-06 15:30:26 +02:00
Quentin Gliech
7e90564d16
Bump Rust dependencies
2023-06-14 12:02:16 +02:00
Quentin Gliech
1f748f7d1e
Schedule jobs through the repository
2023-04-14 10:22:22 +02:00
Quentin Gliech
cdd535ddc4
WIP: use apalis to schedule jobs
2023-04-14 10:22:22 +02:00
Quentin Gliech
83cb9158a0
Fix clippy errors
2023-03-14 10:47:35 +01:00
Quentin Gliech
64ce271d08
Add test helpers for handlers and use them
...
Also expands the test coverage of the revoke handler.
2023-02-21 12:06:30 +01:00
Quentin Gliech
a6cd4412c1
Write tests for the token revocation endpoint
2023-02-21 12:06:30 +01:00
Quentin Gliech
543b4b229f
Support for token revocation
2023-02-21 12:06:30 +01:00
Quentin Gliech
a9facab131
Box the repository everywhere
2023-01-20 17:53:04 +01:00
Quentin Gliech
876bc9fcb3
handlers: extract the PgRepository from the request
...
Also fix a bunch of clippy errors & doctests
2023-01-18 18:22:13 +01:00
Quentin Gliech
9005931e2a
handlers: box the rng and clock, and extract it from the state
2023-01-18 17:49:59 +01:00
Quentin Gliech
142fdbd45a
storage: make the Clock a trait
2023-01-18 12:20:30 +01:00
Quentin Gliech
82421c493c
Remove the dependency mas-axum-utils <- mas-graphql
...
This is done by loading the browser session earlier
Also removes the GraphQL subscription logic
2022-12-15 16:51:43 +01:00
Quentin Gliech
fbbb842255
Remove dependency on mas-email and lettre in mas-config
2022-12-15 16:51:43 +01:00
Quentin Gliech
a475a9a164
Make the compat login use the new password manager
2022-12-14 16:04:36 +01:00
Quentin Gliech
533cabe005
Use the new password manager
2022-12-14 16:04:36 +01:00
Quentin Gliech
a6c3951d8c
Start a modular password manager
2022-12-14 16:04:36 +01:00
Quentin Gliech
68890b7291
handlers: remove most usage of anyhow
2022-12-08 15:29:15 +01:00
Quentin Gliech
b7cad48bbd
storage: unify user operations errors
2022-12-08 15:29:15 +01:00
Quentin Gliech
f7f65e314b
storage: unify the compat login errors
2022-12-08 15:29:15 +01:00
Quentin Gliech
fcb6190a56
Simplify route error handling
2022-12-05 19:39:51 +01:00
Quentin Gliech
22a337cd45
WIP: handle account linking
2022-12-05 19:39:51 +01:00
Quentin Gliech
4227fa7a83
Add a global HTTP client factory
2022-12-05 19:39:51 +01:00
Quentin Gliech
bedcf44741
WIP: upstream OIDC provider support
2022-12-05 19:39:51 +01:00
Quentin Gliech
809f836bb4
Migrate to axum 0.6.0-rc.5
2022-11-21 15:04:16 +01:00
Quentin Gliech
9c0ece7512
Do not embed the templates and static files in the binary
2022-11-18 22:37:55 +01:00
Quentin Gliech
834214bcac
Do not embed the WASM-compiled policies in the binary
2022-11-18 22:37:55 +01:00
Quentin Gliech
c76a1dd2e7
Bump the latest axum rc
2022-11-18 14:57:22 +01:00
Quentin Gliech
13c7d2772f
Move the GraphQL schema to its own crate
2022-11-09 19:17:12 +01:00
Quentin Gliech
c13b0478e6
Initial GraphQL API
2022-11-09 19:17:12 +01:00
Quentin Gliech
2d2127dcdb
More cleanups
2022-11-02 18:59:00 +01:00
Quentin Gliech
559181c2c3
Pass the rng and clock around
2022-11-02 18:59:00 +01:00
Quentin Gliech
84ac87f551
WIP: better listeners
...
- listen on UNIX domain sockets
- handle TLS stuff
- allow mounting only some resources
2022-10-17 11:39:45 +02:00
Quentin Gliech
7fbfb74a5e
WIP: better HTTP listeners
2022-10-17 11:39:45 +02:00
Quentin Gliech
93ce5c797c
Mount the static assets on /assets
2022-10-17 11:39:45 +02:00
Quentin Gliech
36668d9b91
Move the healthcheck route to the API router
2022-09-06 13:11:54 +02:00
Quentin Gliech
fa47f6e150
Upgrade axum to 0.6.0-rc.1
2022-09-06 13:11:54 +02:00
Quentin Gliech
cc6c6e8bdb
Remove the config dependency from the email, templates & handlers crates
2022-09-02 16:01:11 +02:00
Quentin Gliech
8c25dc03ce
Move the Encrypter from the config to the keystore
2022-09-02 15:37:46 +02:00
Quentin Gliech
e1d50b818e
Add a dedicated keystore crate
2022-09-02 15:37:46 +02:00
Quentin Gliech
c1ed726dc8
Enable the clippy::str_to_string lint
2022-08-08 10:06:20 +02:00
Quentin Gliech
2e2c3d54a6
Test HTTP handlers
2022-08-05 09:48:02 +02:00
Quentin Gliech
4870d1e899
Fix some false-positive clippy lints
...
Those were introduced in clippy 1.62 (under clippy::pedantic) and are in
proc-macro generated code
2022-07-01 16:36:35 +02:00
Quentin Gliech
aab1f49374
Support for applying OPA policies during client registration
2022-06-03 13:37:20 +02:00
Quentin Gliech
125afd61c0
Make email verification mandatory
2022-06-02 16:18:55 +02:00
Quentin Gliech
89597dbf81
Switch email verification to a code-based flow
2022-06-02 16:18:55 +02:00
Quentin Gliech
1d61a94da4
Have a consent screen before continuing the SSO login
2022-05-23 10:42:25 +02:00
Quentin Gliech
033d60eb73
Legacy login via m.login.sso
2022-05-23 10:42:25 +02:00
Quentin Gliech
0fcecfa7fb
Handle legacy /refresh
2022-05-19 10:17:49 +02:00