pub struct ApiKeyAuthProvider { /* private fields */ }Expand description
Adapts the project’s ApiKeyConfig to the rust-mcp-sdk AuthProvider
trait, enabling in-process Bearer-token enforcement of API keys.
Implementations§
Source§impl ApiKeyAuthProvider
impl ApiKeyAuthProvider
Sourcepub fn new(config: ApiKeyConfig) -> Self
pub fn new(config: ApiKeyConfig) -> Self
Create a provider backed by the given API-key configuration.
Trait Implementations§
Source§impl AuthProvider for ApiKeyAuthProvider
impl AuthProvider for ApiKeyAuthProvider
fn verify_token<'life0, 'async_trait>(
&'life0 self,
access_token: String,
) -> Pin<Box<dyn Future<Output = Result<AuthInfo, AuthenticationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn auth_endpoints(&self) -> Option<&HashMap<String, OauthEndpoint>>
fn auth_endpoints(&self) -> Option<&HashMap<String, OauthEndpoint>>
Returns the configured OAuth endpoints for this provider. Read more
Source§fn handle_request<'life0, 'life1, 'async_trait>(
&'life0 self,
_request: Request<&'life1 str>,
_state: Arc<McpAppState>,
) -> Pin<Box<dyn Future<Output = Result<Response<GenericBody>, TransportServerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle_request<'life0, 'life1, 'async_trait>(
&'life0 self,
_request: Request<&'life1 str>,
_state: Arc<McpAppState>,
) -> Pin<Box<dyn Future<Output = Result<Response<GenericBody>, TransportServerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Handles an incoming HTTP request for this authentication provider. Read more
Source§fn protected_resource_metadata_url(&self) -> Option<&str>
fn protected_resource_metadata_url(&self) -> Option<&str>
Returns the absolute URL of this resource’s OAuth 2.0 Protected Resource Metadata document. Read more
Source§fn required_scopes(&self) -> Option<&Vec<String>>
fn required_scopes(&self) -> Option<&Vec<String>>
Returns an optional list of scopes required to access this resource.
If this function returns
Some(scopes), the authenticated user’s token
must include all of the listed scopes.
If any are missing, the request will be rejected with a 403 Forbidden response.Source§fn endpoint_type(&self, request: &Request<&str>) -> Option<&OauthEndpoint>
fn endpoint_type(&self, request: &Request<&str>) -> Option<&OauthEndpoint>
Returns the
OauthEndpoint associated with the given request path. Read morefn validate_allowed_methods( &self, endpoint: &OauthEndpoint, method: &Method, ) -> Option<Response<BoxBody<Bytes, TransportServerError>>>
Auto Trait Implementations§
impl Freeze for ApiKeyAuthProvider
impl RefUnwindSafe for ApiKeyAuthProvider
impl Send for ApiKeyAuthProvider
impl Sync for ApiKeyAuthProvider
impl Unpin for ApiKeyAuthProvider
impl UnsafeUnpin for ApiKeyAuthProvider
impl UnwindSafe for ApiKeyAuthProvider
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