pub struct TenantGuard;Expand description
Requires a resolved tenant AND cross-checks it against the JWT.
- No tenant on the context →
401 Unauthorized(strategy failed to resolve and no fallback is configured). - JWT carries a
tenantclaim that differs from the resolved tenant →403 Forbidden(forged header / cross-tenant token reuse). - JWT without a
tenantclaim passes — single-tenant tokens stay valid.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TenantGuard
impl RefUnwindSafe for TenantGuard
impl Send for TenantGuard
impl Sync for TenantGuard
impl Unpin for TenantGuard
impl UnsafeUnpin for TenantGuard
impl UnwindSafe for TenantGuard
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> 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::Request