Skip to main content

SnapshotIssuer

Struct SnapshotIssuer 

Source
pub struct SnapshotIssuer { /* private fields */ }
Expand description

Mints membership snapshots under the issuer key.

kid must be published in the JWKS with the issuer role; edges refuse any other. Like a standing binding, a snapshot has no exp, so a kid that has signed snapshots stays published until every one of them is superseded (see cheers_verify::standing, “Key rotation rule”).

Implementations§

Source§

impl SnapshotIssuer

Source

pub const DEFAULT_REFRESH_AFTER_SECONDS: i64

7 days, like StandingBinder. Advisory: how long until a holder that can reach the issuer fetches a fresher snapshot. It never bounds how long one is valid.

Source

pub const MINT_ATTEMPTS: usize = 5

How many times mint re-walks when a write lands under it before giving up with Error::SnapshotContended.

Source

pub fn new( store: impl OwnershipStore + 'static, schema: Arc<SchemaRegistry>, minter: PasetoV4SecretMinter, issuer: impl Into<String>, kid: impl Into<String>, ) -> Self

Source

pub fn with_refresh_after(self, seconds: i64) -> Self

Source

pub fn issuer(&self) -> &str

Source

pub async fn mint( &self, kind: &str, id: &str, now: i64, ) -> Result<SignedSetSnapshot, Error>

Snapshot (kind, id)’s members from live tuples and sign it. The epoch is the ownership version the walk read at (module docs).

Trait Implementations§

Source§

impl Debug for SnapshotIssuer

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more