Commit Graph

134 Commits

Author SHA1 Message Date
Quentin Gliech
6a41b887d4 WIP: Refactor higher-level data-model to its own crate 2021-10-12 19:03:01 +02:00
Quentin Gliech
a2671fcce8 ci: switch code coverage to grcov 2021-10-06 17:46:13 +02:00
Quentin Gliech
3ee57a0a61 ci: upload test coverage on codecov.io 2021-10-06 11:03:57 +02:00
Quentin Gliech
a8aeb5b52c ci: generate and upload LSIF data 2021-10-05 21:25:32 +02:00
Quentin Gliech
44d50ee7b8 Better data structure to handle scopes 2021-10-05 20:36:36 +02:00
Quentin Gliech
ab18297e91 PKCE support 2021-10-05 14:08:47 +02:00
Quentin Gliech
b3a0246af0 Upgrade dependencies 2021-10-04 14:48:23 +02:00
Quentin Gliech
d24447cf88 Fix request handling when the cookie header is not there 2021-09-25 18:09:37 +02:00
Quentin Gliech
49a71fed37 docs: fix edit links 2021-09-25 18:00:32 +02:00
Quentin Gliech
7cd828602c Build the documentation to GitHub Pages 2021-09-24 19:10:49 +02:00
Quentin Gliech
29378581a3 Add some documentation as an mdBook 2021-09-24 19:10:17 +02:00
Quentin Gliech
2792d6c6b0 Trigger a rebuild when the migration files change 2021-09-24 19:08:52 +02:00
Quentin Gliech
98c68d6b8e 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
9215ae6561 Add missing file forgotten in fc8e18c781 2021-09-24 09:20:22 +02:00
Quentin Gliech
c87f046998 WIP: generate sample template contexts for testing 2021-09-23 23:51:50 +02:00
Quentin Gliech
fc8e18c781 Templates config 2021-09-23 23:51:17 +02:00
Quentin Gliech
df3133ba42 Fix GitHub Actions workflow 2021-09-23 21:39:39 +02:00
Quentin Gliech
8ba66c9216 Document the mas_core::reply and mas_core::tokens modules 2021-09-23 21:34:13 +02:00
Quentin Gliech
d968fe463e Upgrade all dependencies 2021-09-23 20:54:24 +02:00
Quentin Gliech
21975ed036 Fully document the mas_core::filters module 2021-09-23 20:53:51 +02:00
Quentin Gliech
2ff2f7d678 Simplify session-related filters 2021-09-23 19:16:30 +02:00
Quentin Gliech
819252ffe6 Make database-related warp filters generic over the DB type 2021-09-23 17:40:50 +02:00
Quentin Gliech
b6ba5d04d5 Proper error when submitting invalid authorization code 2021-09-23 14:48:12 +02:00
Quentin Gliech
01c1c1824a Refactor token generation a bit 2021-09-23 14:24:44 +02:00
Quentin Gliech
d07dd81c0d Clean up some warp filters and add documentation 2021-09-23 14:02:44 +02:00
Quentin Gliech
fb25511484 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
befd0a8c2d Consume authorization code on use 2021-09-17 18:24:43 +02:00
Quentin Gliech
838d6d9472 Include "state" in authorization request errors 2021-09-17 18:13:30 +02:00
Quentin Gliech
55ca0dc9b3 Better error handling in cookies, session and csrf filters 2021-09-17 18:12:34 +02:00
Quentin Gliech
03bf2f3429 Handle auth errors on the userinfo endpoint 2021-09-17 16:20:10 +02:00
Quentin Gliech
83176dbfed Make the template contexts a bit more clear 2021-09-17 14:30:06 +02:00
Quentin Gliech
bc55420a39 ci: better job dependencies 2021-09-17 12:55:10 +02:00
Quentin Gliech
dc70aa7999 Allow loading multiple configuration files 2021-09-17 12:22:03 +02:00
Quentin Gliech
224ab2bc98 Allow splitting database connection options 2021-09-17 12:03:00 +02:00
Quentin Gliech
0b3fd63748 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
bc07a0d968 Docker image and CI 2021-09-17 10:40:08 +02:00
Quentin Gliech
bade8cd8bf Embed templates in binary & add command to export them 2021-09-16 23:39:07 +02:00
Quentin Gliech
89d0821ed2 Bump MSRV to 1.54
clap 4.0.0-beta4 broke <1.54 compatibility
2021-09-16 15:05:07 +02:00
Quentin Gliech
18513ee604 Fix minor code style issues 2021-09-16 14:54:17 +02:00
Quentin Gliech
7681f5131a Split the service in multiple crates 2021-09-16 14:43:56 +02:00
Quentin Gliech
e74bc12ccd Upgrade dependencies 2021-09-16 12:33:04 +02:00
Quentin Gliech
a8cd3d9413 Fix signing key in tests 2021-09-16 12:23:45 +02:00
Quentin Gliech
589f666bf7 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
c39e223032 WIP error management in authorization request 2021-09-10 22:53:21 +02:00
Quentin Gliech
108a974880 disabled bogus clippy lint 2021-09-09 23:27:51 +02:00
Quentin Gliech
ce783de2d1 implement userinfo endpoint
Also fix some responses to pass more compliance tests
2021-09-09 23:11:09 +02:00
Quentin Gliech
81d95ef215 Add c_hash, at_hash and nonce claims to id_token 2021-09-09 16:52:08 +02:00
Quentin Gliech
909da01918 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
5c63b93c92 Basic id_token signing 2021-09-09 13:18:53 +02:00
Quentin Gliech
c5d4c0b83c Implement refresh tokens 2021-08-27 15:27:19 +02:00