pub trait TokenProvider {
// Required methods
fn seal(
&self,
payload: &[u8],
claims: &TokenClaims,
) -> SecurityResult<Vec<u8>>;
fn open(
&self,
token: &[u8],
claims: &TokenClaims,
) -> SecurityResult<Vec<u8>>;
fn sign(
&self,
payload: &[u8],
claims: &TokenClaims,
) -> SecurityResult<Vec<u8>>;
fn verify(
&self,
payload: &[u8],
signature: &[u8],
claims: &TokenClaims,
) -> SecurityResult<()>;
}Expand description
Contrato de assinatura e validação de payloads.
Required Methods§
Sourcefn seal(&self, payload: &[u8], claims: &TokenClaims) -> SecurityResult<Vec<u8>>
fn seal(&self, payload: &[u8], claims: &TokenClaims) -> SecurityResult<Vec<u8>>
Authenticates and encrypts payload bytes.
Sourcefn open(&self, token: &[u8], claims: &TokenClaims) -> SecurityResult<Vec<u8>>
fn open(&self, token: &[u8], claims: &TokenClaims) -> SecurityResult<Vec<u8>>
Authenticates and decrypts token bytes.
Sourcefn sign(&self, payload: &[u8], claims: &TokenClaims) -> SecurityResult<Vec<u8>>
fn sign(&self, payload: &[u8], claims: &TokenClaims) -> SecurityResult<Vec<u8>>
Produces an authenticated signature carrying payload bytes.
Sourcefn verify(
&self,
payload: &[u8],
signature: &[u8],
claims: &TokenClaims,
) -> SecurityResult<()>
fn verify( &self, payload: &[u8], signature: &[u8], claims: &TokenClaims, ) -> SecurityResult<()>
Verifies that a signature carries the expected payload and claims.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".