diff --git a/crates/jose/src/jwt/header.rs b/crates/jose/src/jwt/header.rs index af2ad424..6579042d 100644 --- a/crates/jose/src/jwt/header.rs +++ b/crates/jose/src/jwt/header.rs @@ -28,7 +28,7 @@ pub struct JsonWebSignatureHeader { jku: Option, #[serde(default)] - jwk: Option, + jwk: Option>, #[serde(default)] kid: Option, @@ -91,12 +91,16 @@ impl JsonWebSignatureHeader { #[must_use] pub const fn jwk(&self) -> Option<&PublicJsonWebKey> { - self.jwk.as_ref() + // Can't use as_deref because it's not a const fn + match &self.jwk { + Some(jwk) => Some(jwk), + None => None, + } } #[must_use] pub fn with_jwk(mut self, jwk: PublicJsonWebKey) -> Self { - self.jwk = Some(jwk); + self.jwk = Some(Box::new(jwk)); self }