1
0
mirror of https://github.com/matrix-org/matrix-authentication-service.git synced 2025-07-09 10:01:45 +03:00
Commit Graph

71 Commits

Author SHA1 Message Date
7aae66e182 Make ClientErrorCode.error_description optional. 2023-05-09 19:10:19 +02:00
d34e01fc67 Provision and delete Matrix devices in OAuth sessions 2023-04-24 10:42:38 +02:00
17471c651e handlers: add tests for the token endpoint
This also simplifies the way we issue tokens in tests
2023-02-22 19:38:01 +01:00
543b4b229f Support for token revocation 2023-02-21 12:06:30 +01:00
792d3c793b Convert many match/if expressions to let-else 2023-02-01 10:37:04 +01:00
09a567ab17 storage: OAuth2 client repository 2023-01-04 16:30:32 +01:00
01a7febee2 Don't enforce RS256 ID Token signing alg in provider metadata 2022-12-18 16:02:48 +01:00
ca112d45e1 ci: Update clippy to 1.66 and fix new warnings 2022-12-16 18:16:18 +01:00
bd93074076 clippy: fix warnings in tests 2022-12-08 15:29:15 +01:00
d58dab702b oauth2-types: urn:ietf:params:oauth:grant-type:jwt-bearer 2022-12-05 19:39:51 +01:00
bedcf44741 WIP: upstream OIDC provider support 2022-12-05 19:39:51 +01:00
95a879585b Make the OIDC issuer a string instead of a URL 2022-12-02 18:04:07 +01:00
db25574a96 Make sure Scope and InvalidScope are reexported from mas-oidc-client 2022-12-01 10:45:38 +01:00
66055b044e Make sure all types of oauth2-types are documented 2022-12-01 10:45:38 +01:00
c590e8df92 Don't leak secrets in requests Debug format 2022-11-21 16:12:35 +01:00
51515358f7 Make more enum types accept unknown values 2022-10-17 14:15:35 +02:00
10297d29bb Make Scope use a BTreeSet internally 2022-10-17 14:12:59 +02:00
99f2ca3d57 Derive Clone for http requests structs
So they don't prevent a Service from implementing Clone.
2022-10-17 12:47:43 +02:00
954e163936 Fix parsing and deserialization of AuthenticationMethodOrAccessTokenType 2022-09-28 13:43:39 +02:00
80d317f23c Add variants for unknown values on mas-iana types
Remove the Copy derive and mark enums as non-exhaustive.
2022-09-28 13:43:39 +02:00
1bbd2c2970 Allow access token types in introspection auth methods 2022-09-27 19:11:32 +02:00
940ab48819 Add types for the Device Authorization flow 2022-09-16 11:47:31 +02:00
fca6cfa393 Use ResponseType that doesn't care about tokens order 2022-09-13 15:15:30 +02:00
c4e495a84a Properly implement Display and FromStr for oauth2-types enums
Use SerializeDisplay and DeserializeFromStr derives.
Add tests for serialize and deserialize implemntations.
2022-09-12 15:44:15 +02:00
94ba03a273 Add more variants to GrantType 2022-09-12 11:06:45 +02:00
940965287b Allow to get verified provider metadata with minimal checks 2022-09-07 08:56:10 +02:00
91ce8ff5fe Add Pushed Authorization Request response type 2022-09-05 11:29:17 +02:00
29f1b134ae Make the JWK generic over the parameters 2022-09-02 15:37:46 +02:00
7b281f4c21 Improve docs and spec compliance of oauth2-types requests 2022-09-02 11:25:21 +02:00
bffbf63992 Add a constructor for a basic AuthorizationRequest 2022-09-02 11:25:21 +02:00
7a931925fa Basic improvements to oauth2-types requests
Make sure all types implement Serialize, Deserialize, Debug and Clone.
Make sure all types can be constructed and all fields can be accessed.
2022-09-02 11:25:21 +02:00
ee47c821e3 Use an enum for client error codes
Replace the ClientError constants with From<ClientErrorCode>.
2022-09-01 17:59:37 +02:00
e202c3dd6d Allow to validate client metadata
According to OpenID Connect Dynamic Client Registration Spec 1.0.
Introduce VerifiedClientMetadata.
2022-08-19 13:58:43 +02:00
78f41c7d86 Improve docs for the prompt_values_supported field 2022-08-12 12:19:17 +02:00
5c8b442747 Fix new clippy 0.1.63 warnings 2022-08-12 11:05:21 +02:00
759809b7fd Document field requirements in ProviderMetadata docs 2022-08-11 17:20:17 +02:00
f6fc51a76f Use LanguageTag for lists of locales in ProviderMetadata 2022-08-11 17:20:17 +02:00
222551ad7f Allow to validate provider metadata
According to the OpenID Connect Discovery 1.0 spec.
Provide the default values for fields when they are defined.
Introduce VerifiedProviderMetadata.
Rename Metadata to ProviderMetadata.
Implement Deserialize for ProviderMetadata.
2022-08-11 17:20:17 +02:00
c63345fe31 Fix type of metadata pushed authorization request endpoint 2022-08-11 17:20:17 +02:00
c1ed726dc8 Enable the clippy::str_to_string lint 2022-08-08 10:06:20 +02:00
3215e86eaa Use unstable prefixes for scope names (#337) 2022-08-05 17:58:22 +00:00
649e5cd645 Move the PKCE validation logic to oauth2-types 2022-08-03 13:57:31 +02:00
372b32a780 Make PKCE implementation compliant with RFC7636
This checks for the PKCE code_verifier length as well as the characters
used. It also give better errors when the PKCE verifier is invalid.

Fixes #316
2022-08-03 13:57:31 +02:00
44b2708f7a Bump serde_with 2022-08-01 19:38:22 +02:00
28ff912029 Simple consent screen and storage 2022-04-29 12:16:39 +02:00
ee05543944 Check some metadata on client registration 2022-04-21 13:34:07 +02:00
5c14611b96 Simple dynamic client registration 2022-04-19 12:23:19 +02:00
d43a8f1a00 Basic Webfinger support 2022-04-08 10:43:48 +02:00
bbcd03fa73 Simplify OAuth2 error types 2022-04-07 10:08:10 +02:00
9cd63f6cf1 Fix tests in oauth2 errors serialization 2022-04-06 17:35:29 +02:00