Commit Graph

62 Commits

Author SHA1 Message Date
Quentin Gliech
8e549387cb Upgrade axum to 0.6.0-rc.1 2022-09-06 13:11:54 +02:00
Quentin Gliech
c4076698d4 Remove the config dependency from the email, templates & handlers crates 2022-09-02 16:01:11 +02:00
Quentin Gliech
acca0b8b89 Add a debug CLI command to check the compiled policies 2022-08-22 16:36:31 +02:00
Quentin Gliech
5bb2868795 Better Tower layers 2022-08-19 10:51:24 +02:00
Quentin Gliech
c1adcd6690 Enable the clippy::str_to_string lint 2022-08-08 10:06:20 +02:00
Quentin Gliech
65fb374b00 Authorization grant policy (#288)
Co-authored-by: Hugh Nimmo-Smith <hughns@matrix.org>
2022-07-21 16:18:59 +00:00
Quentin Gliech
7b0e642356 Remove the login policy (since it is not implemented yet) 2022-06-03 13:37:20 +02:00
Quentin Gliech
9afec75dc8 Embed the default policy in the binary 2022-06-03 13:37:20 +02:00
Quentin Gliech
0625384042 Support for applying OPA policies during client registration 2022-06-03 13:37:20 +02:00
Quentin Gliech
a4ee085664 Working legacy login endpoint 2022-05-19 10:17:49 +02:00
Quentin Gliech
92d3c00db0 Form error state overhaul
This adds a new FormState structure here to hold the state of an errored
from, including retaining field value and better error codes.

It also adds error recovery for the registration form, and properly
loads the post_login_action context in case of errors.
2022-05-12 13:35:58 +02:00
Quentin Gliech
5b866ab87e Have a unified URL builder/router 2022-05-10 09:52:48 +02:00
Quentin Gliech
d64509e9cd Serve static files live from disk in dev mode 2022-04-28 16:08:50 +02:00
Quentin Gliech
dc66765d1b Remove some unnecessary dependencies 2022-04-08 09:10:33 +02:00
Quentin Gliech
119074496c Add CORS headers to API-like routes 2022-04-07 16:25:42 +02:00
Quentin Gliech
a1acdce74d Attach remote and local address to HTTP server/client spans 2022-04-07 11:52:43 +02:00
Quentin Gliech
7b5798776e Get rid of warp 2022-04-06 17:35:29 +02:00
Quentin Gliech
1ad2e97d17 Make the ServerLayer work properly with axum 2022-04-06 17:35:29 +02:00
Quentin Gliech
bbbe6d1d0a Axum migration: signed cookies, errors, CSRF tokens, sessions 2022-04-06 17:35:29 +02:00
Quentin Gliech
1dd1efed65 Start migrating to Axum
Now with the homepage and the static files
2022-04-06 17:35:29 +02:00
Quentin Gliech
eea9623e65 Load multiple config files specified in the MAS_CONFIG env variable 2022-03-14 17:46:18 +01:00
Quentin Gliech
f05b4eda11 Load the config file from a environment variable 2022-03-11 17:03:28 +01:00
Quentin Gliech
f243624f45 Move clients to the database 2022-03-08 19:07:46 +01:00
Quentin Gliech
650bfa86b3 Better OpenTelemetry tracer 2022-02-24 16:03:37 +01:00
Quentin Gliech
342c64b5d9 Many improvements to the mas-http crate
- make `mas_http::client` implement Service directly instead of being
   an async function
 - a Get layer that makes a Service<Uri>
 - better error sources in the JSON layer
 - make the client have a proper error type
2022-02-15 08:28:25 +01:00
Quentin Gliech
718cac3fb5 Implement a JSON tower layer
This will help requesting JSON APIs
2022-02-11 14:15:31 +01:00
Quentin Gliech
d92415d419 Proper HTTP client 2022-02-10 16:38:17 +01:00
Quentin Gliech
90a63d593a Dedicated HTTP server/client crate
Also have better names for the HTTP routes
2022-02-10 16:38:16 +01:00
Quentin Gliech
81a9a00ec7 Bump dependencies 2022-02-04 10:18:01 +01:00
Quentin Gliech
55670b39d3 Reorganise CLI crate 2022-02-01 18:49:55 +01:00
Quentin Gliech
ccf17d1551 Loads of docs & enabling more clippy lints 2022-02-01 12:02:32 +01:00
Quentin Gliech
70f2d1d480 Move secrets and oauth2 clients config 2022-02-01 09:34:55 +01:00
Quentin Gliech
08a375bdcd Improve the configuration schema 2022-01-28 11:51:14 +01:00
Quentin Gliech
5de0dc30d1 Allow loading private keys from files 2022-01-26 18:29:11 +01:00
Quentin Gliech
b410f129d4 Minor logging improvements
- only have colors if the output terminal is a tty
 - log in a non-blocking fashion
2022-01-26 17:21:54 +01:00
Quentin Gliech
02300f9fdc Fix traces not being created for requests 2022-01-25 11:46:14 +01:00
Quentin Gliech
02a763455b Add AWS SES backend to send email 2022-01-24 16:31:53 +01:00
Quentin Gliech
b0b64a60c6 Actually send emails 2022-01-19 18:00:45 +01:00
Quentin Gliech
8128a6ca65 CLI subcommand to mark emails as verified 2022-01-18 18:33:05 +01:00
Quentin Gliech
072a21663b New JWT/JOSE crate
Still WIP, needs to handle time related claims
2022-01-04 22:28:00 +01:00
Quentin Gliech
8f723815b9 Split the core crate 2021-12-17 18:04:30 +01:00
Quentin Gliech
98540cc235 Move storage module to its own crate 2021-12-17 12:15:07 +01:00
Quentin Gliech
8bb7038858 Fix user registration from CLI 2021-12-15 11:14:34 +01:00
Quentin Gliech
4ed47f26b6 Soft-fail if .env fails to load 2021-12-14 16:27:18 +01:00
Quentin Gliech
19b9965eb9 Better error context on startup 2021-12-14 11:52:19 +01:00
Quentin Gliech
adbdcfdb6c Refactor templates loading & implement templates hot-reload 2021-12-09 14:07:09 +01:00
Quentin Gliech
a8cdf552f9 Tweak items visibility in the core crate 2021-11-25 17:11:23 +01:00
Quentin Gliech
180093dbcf Graceful shutdown of the server 2021-11-22 18:30:17 +01:00
Quentin Gliech
410f25ce35 Upgrade all dependencies 2021-10-18 17:45:45 +02:00
Quentin Gliech
e1c12ce473 Move templates to their own crate 2021-10-18 17:40:25 +02:00