pub struct ApiKeySecurityConfig {
pub enabled: bool,
pub header: String,
pub hash_algorithm: String,
pub storage: String,
pub static_keys: Vec<StaticApiKeyEntry>,
}Expand description
API key authentication configuration.
[security.api_keys]
enabled = true
header = "X-API-Key"
hash_algorithm = "sha256"
storage = "env"
[[security.api_keys.static]]
key_hash = "sha256:abc123..."
scopes = ["read:*"]
name = "ci-readonly"Fields§
§enabled: boolEnable API key authentication
header: StringHTTP header name to read the API key from
hash_algorithm: StringHash algorithm for key verification (sha256)
storage: StringStorage backend: "env" for static keys, "postgres" for DB-backed
static_keys: Vec<StaticApiKeyEntry>Static API key entries (only for storage = "env")
Trait Implementations§
Source§impl Clone for ApiKeySecurityConfig
impl Clone for ApiKeySecurityConfig
Source§fn clone(&self) -> ApiKeySecurityConfig
fn clone(&self) -> ApiKeySecurityConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ApiKeySecurityConfig
impl Debug for ApiKeySecurityConfig
Source§impl Default for ApiKeySecurityConfig
impl Default for ApiKeySecurityConfig
Source§impl<'de> Deserialize<'de> for ApiKeySecurityConfigwhere
ApiKeySecurityConfig: Default,
impl<'de> Deserialize<'de> for ApiKeySecurityConfigwhere
ApiKeySecurityConfig: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ApiKeySecurityConfig
impl RefUnwindSafe for ApiKeySecurityConfig
impl Send for ApiKeySecurityConfig
impl Sync for ApiKeySecurityConfig
impl Unpin for ApiKeySecurityConfig
impl UnsafeUnpin for ApiKeySecurityConfig
impl UnwindSafe for ApiKeySecurityConfig
Blanket Implementations§
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().