pub struct AuthorizationClient { /* private fields */ }Expand description
OAuth 2.1 Authorization Client for MCP
Implementations§
Source§impl AuthorizationClient
impl AuthorizationClient
Sourcepub fn new(config: AuthConfig, resource_url: String) -> Self
pub fn new(config: AuthConfig, resource_url: String) -> Self
Create a new authorization client
Handle authorization challenge response and initiate authorization.
Works for both 401 and 403 challenge responses as long as a
WWW-Authenticate header is present.
Start the authorization flow
Sourcepub async fn handle_callback(&self, callback_url: &str) -> McpResult<String>
pub async fn handle_callback(&self, callback_url: &str) -> McpResult<String>
Handle authorization callback
Sourcepub async fn get_token(&self) -> McpResult<String>
pub async fn get_token(&self) -> McpResult<String>
Get current access token (refreshing if needed)
Sourcepub fn token_manager(&self) -> &TokenManager
pub fn token_manager(&self) -> &TokenManager
Get the token manager
Sourcepub async fn is_authenticated(&self) -> bool
pub async fn is_authenticated(&self) -> bool
Check if we have a valid token
Auto Trait Implementations§
impl !RefUnwindSafe for AuthorizationClient
impl !UnwindSafe for AuthorizationClient
impl Freeze for AuthorizationClient
impl Send for AuthorizationClient
impl Sync for AuthorizationClient
impl Unpin for AuthorizationClient
impl UnsafeUnpin for AuthorizationClient
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
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].