Commit Graph

62 Commits

Author SHA1 Message Date
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 d7c9ca4796 Add a debug CLI command to check the compiled policies 2022-08-22 16:36:31 +02:00
Quentin Gliech 398379e21b Better Tower layers 2022-08-19 10:51:24 +02:00
Quentin Gliech c1ed726dc8 Enable the clippy::str_to_string lint 2022-08-08 10:06:20 +02:00
Quentin Gliech ba6a382f2c Authorization grant policy (#288)
Co-authored-by: Hugh Nimmo-Smith <hughns@matrix.org>
2022-07-21 16:18:59 +00:00
Quentin Gliech eb22c33a7d Remove the login policy (since it is not implemented yet) 2022-06-03 13:37:20 +02:00
Quentin Gliech 071055ad18 Embed the default policy in the binary 2022-06-03 13:37:20 +02:00
Quentin Gliech aab1f49374 Support for applying OPA policies during client registration 2022-06-03 13:37:20 +02:00
Quentin Gliech 1aff98bdb3 Working legacy login endpoint 2022-05-19 10:17:49 +02:00
Quentin Gliech 185562c866 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 f4353b660e Have a unified URL builder/router 2022-05-10 09:52:48 +02:00
Quentin Gliech 8a256596d7 Serve static files live from disk in dev mode 2022-04-28 16:08:50 +02:00
Quentin Gliech a3f1a880aa Remove some unnecessary dependencies 2022-04-08 09:10:33 +02:00
Quentin Gliech bc24e30867 Add CORS headers to API-like routes 2022-04-07 16:25:42 +02:00
Quentin Gliech b43817e66c Attach remote and local address to HTTP server/client spans 2022-04-07 11:52:43 +02:00
Quentin Gliech 4e31fc6c84 Get rid of warp 2022-04-06 17:35:29 +02:00
Quentin Gliech 9b5ecd5bc4 Make the ServerLayer work properly with axum 2022-04-06 17:35:29 +02:00
Quentin Gliech 7c8f8722cd Axum migration: signed cookies, errors, CSRF tokens, sessions 2022-04-06 17:35:29 +02:00
Quentin Gliech 797257cce7 Start migrating to Axum
Now with the homepage and the static files
2022-04-06 17:35:29 +02:00
Quentin Gliech 785101564a Load multiple config files specified in the MAS_CONFIG env variable 2022-03-14 17:46:18 +01:00
Quentin Gliech c9f16ae781 Load the config file from a environment variable 2022-03-11 17:03:28 +01:00
Quentin Gliech 62f633a716 Move clients to the database 2022-03-08 19:07:46 +01:00
Quentin Gliech b81f4caace Better OpenTelemetry tracer 2022-02-24 16:03:37 +01:00
Quentin Gliech c5858e6ed5 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 497a3e006e Implement a JSON tower layer
This will help requesting JSON APIs
2022-02-11 14:15:31 +01:00
Quentin Gliech 8c36e51176 Proper HTTP client 2022-02-10 16:38:17 +01:00
Quentin Gliech 2df40762a2 Dedicated HTTP server/client crate
Also have better names for the HTTP routes
2022-02-10 16:38:16 +01:00
Quentin Gliech 26a340d5dc Bump dependencies 2022-02-04 10:18:01 +01:00
Quentin Gliech c3ddc088ab Reorganise CLI crate 2022-02-01 18:49:55 +01:00
Quentin Gliech a45381828c Loads of docs & enabling more clippy lints 2022-02-01 12:02:32 +01:00
Quentin Gliech 7e24cd0948 Move secrets and oauth2 clients config 2022-02-01 09:34:55 +01:00
Quentin Gliech 05f0756c13 Improve the configuration schema 2022-01-28 11:51:14 +01:00
Quentin Gliech 79d7561d93 Allow loading private keys from files 2022-01-26 18:29:11 +01:00
Quentin Gliech c7a243a3a1 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 46caf284cf Fix traces not being created for requests 2022-01-25 11:46:14 +01:00
Quentin Gliech 1355be8fb8 Add AWS SES backend to send email 2022-01-24 16:31:53 +01:00
Quentin Gliech 93cbad34f5 Actually send emails 2022-01-19 18:00:45 +01:00
Quentin Gliech 29b2fc2e43 CLI subcommand to mark emails as verified 2022-01-18 18:33:05 +01:00
Quentin Gliech f933ace007 New JWT/JOSE crate
Still WIP, needs to handle time related claims
2022-01-04 22:28:00 +01:00
Quentin Gliech 2f97ca685d Split the core crate 2021-12-17 18:04:30 +01:00
Quentin Gliech ceb17d3646 Move storage module to its own crate 2021-12-17 12:15:07 +01:00
Quentin Gliech 1d58d134a9 Fix user registration from CLI 2021-12-15 11:14:34 +01:00
Quentin Gliech 95bde28ebe Soft-fail if .env fails to load 2021-12-14 16:27:18 +01:00
Quentin Gliech 7341f0dccf Better error context on startup 2021-12-14 11:52:19 +01:00
Quentin Gliech c53318eca0 Refactor templates loading & implement templates hot-reload 2021-12-09 14:07:09 +01:00
Quentin Gliech 54a7e63913 Tweak items visibility in the core crate 2021-11-25 17:11:23 +01:00
Quentin Gliech 8608e46eba Graceful shutdown of the server 2021-11-22 18:30:17 +01:00
Quentin Gliech 617ab83ab2 Upgrade all dependencies 2021-10-18 17:45:45 +02:00
Quentin Gliech 026bc47c27 Move templates to their own crate 2021-10-18 17:40:25 +02:00