use std::collections::HashMap;
use http::Method;
use serde::{Deserialize, Serialize};
use self::{ath::Ath, htu::Htu, nonce::Nonce};
pub mod ath;
pub mod htu;
pub mod jkt;
pub mod jti;
pub mod nonce;
pub mod common;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DPoPProofClaims {
pub jti: String,
#[serde(with = "http_serde::method")]
pub htm: Method,
pub htu: Htu,
pub iat: i64,
#[serde(skip_serializing_if = "Option::is_none")]
pub ath: Option<Ath>,
#[serde(skip_serializing_if = "Option::is_none")]
pub nonce: Option<Nonce>,
#[serde(flatten)]
pub additional: HashMap<String, serde_json::Value>,
}