haste_server/auth_n/certificates/
traits.rs1use crate::auth_n::certificates::JSONWebKeySet;
2use haste_fhir_operation_error::OperationOutcomeError;
3use std::sync::Arc;
4
5pub struct DecodingKey {
6 pub kid: String,
7 pub decoding_key: jsonwebtoken::DecodingKey,
8}
9
10pub struct EncodingKey {
11 pub kid: String,
12 pub encoding_key: jsonwebtoken::EncodingKey,
13}
14
15pub trait CertificationProvider: Sync + Send {
16 fn decoding_key<'a>(&'a self, kid: &str) -> Result<&'a DecodingKey, OperationOutcomeError>;
17 fn encoding_key<'a>(&'a self) -> Result<&'a EncodingKey, OperationOutcomeError>;
18 fn jwk_set(&self) -> Arc<JSONWebKeySet>;
19}