1
0
mirror of https://github.com/matrix-org/matrix-authentication-service.git synced 2025-07-29 22:01:14 +03:00

Make the JWK generic over the parameters

This commit is contained in:
Quentin Gliech
2022-08-29 09:51:32 +02:00
parent 6636cdcf49
commit 29f1b134ae
14 changed files with 113 additions and 65 deletions

View File

@ -20,7 +20,7 @@ use mas_iana::{
jose::{JsonWebEncryptionAlg, JsonWebEncryptionEnc, JsonWebSignatureAlg},
oauth::{OAuthAuthorizationEndpointResponseType, OAuthClientAuthenticationMethod},
};
use mas_jose::JsonWebKeySet;
use mas_jose::jwk::PublicJsonWebKeySet;
use serde::{
de::{DeserializeOwned, Error},
ser::SerializeMap,
@ -99,7 +99,7 @@ pub struct ClientMetadataSerdeHelper {
application_type: Option<ApplicationType>,
contacts: Option<Vec<String>>,
jwks_uri: Option<Url>,
jwks: Option<JsonWebKeySet>,
jwks: Option<PublicJsonWebKeySet>,
sector_identifier_uri: Option<Url>,
subject_type: Option<SubjectType>,
token_endpoint_auth_method: Option<OAuthClientAuthenticationMethod>,

View File

@ -20,7 +20,7 @@ use mas_iana::{
jose::{JsonWebEncryptionAlg, JsonWebEncryptionEnc, JsonWebSignatureAlg},
oauth::{OAuthAuthorizationEndpointResponseType, OAuthClientAuthenticationMethod},
};
use mas_jose::JsonWebKeySet;
use mas_jose::jwk::PublicJsonWebKeySet;
use serde::{Deserialize, Serialize};
use serde_with::{serde_as, skip_serializing_none, TimestampSeconds};
use thiserror::Error;
@ -197,7 +197,7 @@ pub struct ClientMetadata {
/// This field is mutually exclusive with `jwks_uri`.
///
/// [JWK]: https://www.rfc-editor.org/rfc/rfc7517.html
pub jwks: Option<JsonWebKeySet>,
pub jwks: Option<PublicJsonWebKeySet>,
/// URL to be used in calculating pseudonymous identifiers by the OpenID
/// Connect provider when [pairwise subject identifiers] are used.
@ -861,7 +861,7 @@ mod tests {
jose::{JsonWebEncryptionAlg, JsonWebEncryptionEnc, JsonWebSignatureAlg},
oauth::{OAuthAuthorizationEndpointResponseType, OAuthClientAuthenticationMethod},
};
use mas_jose::JsonWebKeySet;
use mas_jose::jwk::PublicJsonWebKeySet;
use url::Url;
use super::{ClientMetadata, ClientMetadataVerificationError};
@ -874,7 +874,7 @@ mod tests {
}
}
fn jwks() -> JsonWebKeySet {
fn jwks() -> PublicJsonWebKeySet {
serde_json::from_value(serde_json::json!({
"keys": [
{