use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, Serialize, Deserialize)] pub struct JwkSet { pub keys: Vec, } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct Jwk { pub kty: String, #[serde(rename = "use", skip_serializing_if = "Option::is_none")] pub key_use: Option, #[serde(skip_serializing_if = "Option::is_none")] pub kid: Option, #[serde(skip_serializing_if = "Option::is_none")] pub alg: Option, #[serde(skip_serializing_if = "Option::is_none")] pub crv: Option, #[serde(skip_serializing_if = "Option::is_none")] pub x: Option, #[serde(skip_serializing_if = "Option::is_none")] pub y: Option, } pub fn create_jwk_set(keys: Vec) -> JwkSet { JwkSet { keys } }