1
0
mirror of https://github.com/matrix-org/matrix-authentication-service.git synced 2025-07-06 05:42:30 +03:00
Commit Graph

1305 Commits

Author SHA1 Message Date
59df55c2f9 Handle auth errors on the userinfo endpoint 2021-09-17 16:20:10 +02:00
463184bbb1 Make the template contexts a bit more clear 2021-09-17 14:30:06 +02:00
7afd82be8f ci: better job dependencies 2021-09-17 12:55:10 +02:00
3159a9972f Allow loading multiple configuration files 2021-09-17 12:22:03 +02:00
bd441ceef7 Allow splitting database connection options 2021-09-17 12:03:00 +02:00
789ace84fd Ability to run migrations on startup
Also adds a bunch of logging information on startup
2021-09-17 11:27:06 +02:00
4fbac80898 Docker image and CI 2021-09-17 10:40:08 +02:00
76c69485e9 Embed templates in binary & add command to export them 2021-09-16 23:39:07 +02:00
e44197a2cc Bump MSRV to 1.54
clap 4.0.0-beta4 broke <1.54 compatibility
2021-09-16 15:05:07 +02:00
721b67fe48 Fix minor code style issues 2021-09-16 14:54:17 +02:00
a44e33931c Split the service in multiple crates 2021-09-16 14:43:56 +02:00
da91564bf9 Upgrade dependencies 2021-09-16 12:33:04 +02:00
41e3945496 Fix signing key in tests 2021-09-16 12:23:45 +02:00
bb11ab7af8 more error handling in token endpoint
Also adds some OP metadatas to help with conformance
2021-09-11 00:53:21 +02:00
f8c51f67e8 WIP error management in authorization request 2021-09-10 22:53:21 +02:00
fb421a6139 disabled bogus clippy lint 2021-09-09 23:27:51 +02:00
dad0360ffb implement userinfo endpoint
Also fix some responses to pass more compliance tests
2021-09-09 23:11:09 +02:00
ac6875172f Add c_hash, at_hash and nonce claims to id_token 2021-09-09 16:52:08 +02:00
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
afbae31487 Basic id_token signing 2021-09-09 13:18:53 +02:00
63dfd86552 Implement refresh tokens 2021-08-27 15:27:19 +02:00
2a8c38c181 Simple task scheduler to remove old access tokens 2021-08-27 12:06:03 +02:00
c00c962de2 Simplify client authentication logic 2021-08-26 20:16:38 +02:00
c64273afc3 Recover gracefully from login errors
Fixes #5
2021-08-26 18:08:28 +02:00
47e79307a6 Simplify saving encrypted cookies 2021-08-26 17:39:33 +02:00
a1d78eae55 WIP: handle errors in forms 2021-08-26 11:49:22 +02:00
705d253322 Use custom error types for CSRF and login errors 2021-08-26 11:49:22 +02:00
5fdd833b26 Better handle .env file loading error
Previously it would crash if the file did not exist
2021-08-26 11:14:49 +02:00
c3087ac925 Display the OIDC discovery document on the index 2021-08-15 11:27:00 +00:00
d056c6ef93 Add registration view 2021-08-15 09:56:28 +00:00
bac4125d8c Load environment variables from .env files
This allows to properly set the OAuth 2.0 Issuer base in the Codespace
2021-08-15 09:21:15 +00:00
2361791951 Setup GitHub Codespaces 2021-08-14 20:50:07 +00:00
c4950318dd Commit transaction after exchanging the auth code 2021-08-14 14:35:52 +02:00
d5d9cfe337 ci: Download deps with MSRV 2021-08-14 13:28:03 +02:00
69035e4fb8 Set MSRV and let beta & nightly fail in CI 2021-08-14 13:18:08 +02:00
b5adc80838 Implement code exchange endpoint
Also implement proper client authentication and fix introspection
endpoint
2021-08-14 12:31:19 +02:00
3bdfd68f9d Rework warp top-filters to get proper 404 errors
Before, some had `warp::get().and(warp::path!("foo"))`, which resulted
to a `405 Method not allowed` instead of a 404.

It also uses the `wrap::path!` macro instead of the function to ensure
we're not setting a prefix
2021-08-13 16:20:09 +02:00
787ff192fe Implement basic token introspection endpoint 2021-08-13 15:45:51 +02:00
0596b65f12 Implement proper access token generation 2021-08-13 14:15:20 +02:00
da13e24789 Acquire DB conns and txns on filter level
This avoids having the pool everywhere and instead have connections and
transactions as parameters
2021-08-13 09:38:41 +02:00
4eb1b5d4f8 allow completing an oauth2 session after login 2021-08-06 16:57:49 +02:00
274251ceda wrap HTML responses with warp::reply::html
This sets the Content-Type in responses
2021-08-06 13:57:51 +02:00
66f0605c15 set the response_{modes,types}_supported fields in the discovery document 2021-08-06 13:55:45 +02:00
0e68061f7f support the form_post response mode
also clarify the `register_templates` macro
2021-08-06 12:17:19 +02:00
88c0a80f64 Continue implementing the authorization code grant 2021-08-05 23:44:35 +02:00
bbeef9151d Document some of the templates related structures 2021-08-05 17:48:41 +02:00
f5333da0d2 Remove unnecessary boxing of filters
This might help with error handling, knowing what filter are fallible or not
2021-08-05 17:46:46 +02:00
7a3bcd210d Strongly-typed templates 2021-08-05 14:43:42 +02:00
dcc84e1083 starting the oauth2 authorization flow
also enable compile-time validation of queries
2021-07-31 23:22:41 +02:00
1cfd74dae5 move all IDs in DB to 64bit integers 2021-07-31 15:11:35 +02:00