easy_auth/core/token/token_service.rs
1use std::fmt::Debug;
2
3use serde::{Deserialize, Serialize};
4use serde::de::DeserializeOwned;
5
6use crate::core::token::errors::DecodeError;
7
8pub trait TokenService {
9 fn encode<'a, CLAIMS: Debug + Serialize + Deserialize<'a>>(&self, claims: CLAIMS) -> String;
10 fn decode<CLAIMS: Debug + Serialize + DeserializeOwned>(&self, token: &str) -> Result<CLAIMS, DecodeError>;
11}