Skip to main content

haste_server/auth_n/certificates/
traits.rs

1use 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}