Commit Graph

1332 Commits

Author SHA1 Message Date
Quentin Gliech 224206f70d ci: upload test coverage on codecov.io 2021-10-06 11:03:57 +02:00
Quentin Gliech 3092a82cfa ci: generate and upload LSIF data 2021-10-05 21:25:32 +02:00
Quentin Gliech ec7d936b10 Better data structure to handle scopes 2021-10-05 20:36:36 +02:00
Quentin Gliech 8ecdf7c6c8 PKCE support 2021-10-05 14:08:47 +02:00
Quentin Gliech af71adbe7a Upgrade dependencies 2021-10-04 14:48:23 +02:00
Quentin Gliech bb8fe28f4f Fix request handling when the cookie header is not there 2021-09-25 18:09:37 +02:00
Quentin Gliech 28efac242e docs: fix edit links 2021-09-25 18:00:32 +02:00
Quentin Gliech f1b745de31 Build the documentation to GitHub Pages 2021-09-24 19:10:49 +02:00
Quentin Gliech 4d589b8fa1 Add some documentation as an mdBook 2021-09-24 19:10:17 +02:00
Quentin Gliech 8e34dd3778 Trigger a rebuild when the migration files change 2021-09-24 19:08:52 +02:00
Quentin Gliech e9158382ef Simplify template render check logic
Also documents a bunch of things in mas_core::templates
2021-09-24 11:45:25 +02:00
Quentin Gliech a1c7b7f82d Add missing file forgotten in ff41ae5762 2021-09-24 09:20:22 +02:00
Quentin Gliech ddf155b901 WIP: generate sample template contexts for testing 2021-09-23 23:51:50 +02:00
Quentin Gliech ff41ae5762 Templates config 2021-09-23 23:51:17 +02:00
Quentin Gliech 7c58bb4c17 Fix GitHub Actions workflow 2021-09-23 21:39:39 +02:00
Quentin Gliech 5100cbdef2 Document the mas_core::reply and mas_core::tokens modules 2021-09-23 21:34:13 +02:00
Quentin Gliech 3cbce1e33e Upgrade all dependencies 2021-09-23 20:54:24 +02:00
Quentin Gliech 3bf86c4b21 Fully document the mas_core::filters module 2021-09-23 20:53:51 +02:00
Quentin Gliech 2cfaff737e Simplify session-related filters 2021-09-23 19:16:30 +02:00
Quentin Gliech d06cdb6e02 Make database-related warp filters generic over the DB type 2021-09-23 17:40:50 +02:00
Quentin Gliech 4a927861b0 Proper error when submitting invalid authorization code 2021-09-23 14:48:12 +02:00
Quentin Gliech a9f1f8bb71 Refactor token generation a bit 2021-09-23 14:24:44 +02:00
Quentin Gliech 29126e336e Clean up some warp filters and add documentation 2021-09-23 14:02:44 +02:00
Quentin Gliech 9cd7dec070 ci: simplify workflow and enhance cache restore
This stops building on Windows and macOS and changes the cache key a bit
for better cache restore when the lockfiles or toolchain change
2021-09-23 10:27:25 +02:00
Quentin Gliech e08dae27b1 Consume authorization code on use 2021-09-17 18:24:43 +02:00
Quentin Gliech 1813984a1c Include "state" in authorization request errors 2021-09-17 18:13:30 +02:00
Quentin Gliech dc0d54aaf5 Better error handling in cookies, session and csrf filters 2021-09-17 18:12:34 +02:00
Quentin Gliech 59df55c2f9 Handle auth errors on the userinfo endpoint 2021-09-17 16:20:10 +02:00
Quentin Gliech 463184bbb1 Make the template contexts a bit more clear 2021-09-17 14:30:06 +02:00
Quentin Gliech 7afd82be8f ci: better job dependencies 2021-09-17 12:55:10 +02:00
Quentin Gliech 3159a9972f Allow loading multiple configuration files 2021-09-17 12:22:03 +02:00
Quentin Gliech bd441ceef7 Allow splitting database connection options 2021-09-17 12:03:00 +02:00
Quentin Gliech 789ace84fd Ability to run migrations on startup
Also adds a bunch of logging information on startup
2021-09-17 11:27:06 +02:00
Quentin Gliech 4fbac80898 Docker image and CI 2021-09-17 10:40:08 +02:00
Quentin Gliech 76c69485e9 Embed templates in binary & add command to export them 2021-09-16 23:39:07 +02:00
Quentin Gliech e44197a2cc Bump MSRV to 1.54
clap 4.0.0-beta4 broke <1.54 compatibility
2021-09-16 15:05:07 +02:00
Quentin Gliech 721b67fe48 Fix minor code style issues 2021-09-16 14:54:17 +02:00
Quentin Gliech a44e33931c Split the service in multiple crates 2021-09-16 14:43:56 +02:00
Quentin Gliech da91564bf9 Upgrade dependencies 2021-09-16 12:33:04 +02:00
Quentin Gliech 41e3945496 Fix signing key in tests 2021-09-16 12:23:45 +02:00
Quentin Gliech bb11ab7af8 more error handling in token endpoint
Also adds some OP metadatas to help with conformance
2021-09-11 00:53:21 +02:00
Quentin Gliech f8c51f67e8 WIP error management in authorization request 2021-09-10 22:53:21 +02:00
Quentin Gliech fb421a6139 disabled bogus clippy lint 2021-09-09 23:27:51 +02:00
Quentin Gliech dad0360ffb implement userinfo endpoint
Also fix some responses to pass more compliance tests
2021-09-09 23:11:09 +02:00
Quentin Gliech ac6875172f Add c_hash, at_hash and nonce claims to id_token 2021-09-09 16:52:08 +02:00
Quentin Gliech 5b1abb6a17 Properly block on hashing and signing operations
This moves those operations on Tokio "blocking" threads, which avoids
that they block the async executor while running. It also makes the
config generation asynchronous with better logging of what is happening.
2021-09-09 14:15:42 +02:00
Quentin Gliech afbae31487 Basic id_token signing 2021-09-09 13:18:53 +02:00
Quentin Gliech 63dfd86552 Implement refresh tokens 2021-08-27 15:27:19 +02:00
Quentin Gliech 2a8c38c181 Simple task scheduler to remove old access tokens 2021-08-27 12:06:03 +02:00
Quentin Gliech c00c962de2 Simplify client authentication logic 2021-08-26 20:16:38 +02:00