pub struct JwtSecretManager { /* private fields */ }Expand description
Manages the API daemon’s JWT signing secret.
Use JwtSecretManager::with_base_dir alongside KeyManager
during daemon startup so both keys live in the same directory.
Implementations§
Source§impl JwtSecretManager
impl JwtSecretManager
Sourcepub fn with_base_dir(base_dir: impl AsRef<Path>) -> Self
pub fn with_base_dir(base_dir: impl AsRef<Path>) -> Self
Creates a manager rooted at base_dir.
Sourcepub fn get_or_create(&self, deployment: &str) -> Result<SecretString>
pub fn get_or_create(&self, deployment: &str) -> Result<SecretString>
Resolves the JWT secret, generating + persisting a fresh one when neither the env var nor a saved file is present.
§Errors
Returns SecretsError::Encryption if the file system cannot be
read or written, or if the loaded file is empty.
Trait Implementations§
Source§impl Clone for JwtSecretManager
impl Clone for JwtSecretManager
Source§fn clone(&self) -> JwtSecretManager
fn clone(&self) -> JwtSecretManager
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for JwtSecretManager
impl RefUnwindSafe for JwtSecretManager
impl Send for JwtSecretManager
impl Sync for JwtSecretManager
impl Unpin for JwtSecretManager
impl UnsafeUnpin for JwtSecretManager
impl UnwindSafe for JwtSecretManager
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more