pub struct LocalTokenVerifier { /* private fields */ }Expand description
Local single-user verifier — the auth for the local deployment flavor.
Holds one shared secret (the local daemon auto-provisions it). The presented
token must equal the secret, compared in constant time; on match the
connection runs as a fixed local Admin principal, and on mismatch/empty it
fails closed. This gates stray local processes from connecting to the
loopback/tailnet server without dragging in the multi-tenant JWT/IdP
machinery — exactly the posture a single-user always-on daemon wants.
The token rides in the same slot a JWT would: the /ws ?token= query
param (reference server) or the send_message token field (Lambda), so all
existing transport plumbing is reused.
Implementations§
Trait Implementations§
Source§impl AuthVerifier for LocalTokenVerifier
impl AuthVerifier for LocalTokenVerifier
Auto Trait Implementations§
impl Freeze for LocalTokenVerifier
impl RefUnwindSafe for LocalTokenVerifier
impl Send for LocalTokenVerifier
impl Sync for LocalTokenVerifier
impl Unpin for LocalTokenVerifier
impl UnsafeUnpin for LocalTokenVerifier
impl UnwindSafe for LocalTokenVerifier
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