Spaces:
Running
Running
| --- | |
| title: in_memory | |
| sidebarTitle: in_memory | |
| --- | |
| # `fastmcp.server.auth.providers.in_memory` | |
| ## Classes | |
| ### `InMemoryOAuthProvider` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/auth/providers/in_memory.py#L31" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| An in-memory OAuth provider for testing purposes. | |
| It simulates the OAuth 2.1 flow locally without external calls. | |
| **Methods:** | |
| #### `get_client` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/auth/providers/in_memory.py#L65" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| ```python | |
| get_client(self, client_id: str) -> OAuthClientInformationFull | None | |
| ``` | |
| #### `register_client` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/auth/providers/in_memory.py#L68" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| ```python | |
| register_client(self, client_info: OAuthClientInformationFull) -> None | |
| ``` | |
| #### `authorize` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/auth/providers/in_memory.py#L76" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| ```python | |
| authorize(self, client: OAuthClientInformationFull, params: AuthorizationParams) -> str | |
| ``` | |
| Simulates user authorization and generates an authorization code. | |
| Returns a redirect URI with the code and state. | |
| #### `load_authorization_code` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/auth/providers/in_memory.py#L129" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| ```python | |
| load_authorization_code(self, client: OAuthClientInformationFull, authorization_code: str) -> AuthorizationCode | None | |
| ``` | |
| #### `exchange_authorization_code` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/auth/providers/in_memory.py#L142" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| ```python | |
| exchange_authorization_code(self, client: OAuthClientInformationFull, authorization_code: AuthorizationCode) -> OAuthToken | |
| ``` | |
| #### `load_refresh_token` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/auth/providers/in_memory.py#L193" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| ```python | |
| load_refresh_token(self, client: OAuthClientInformationFull, refresh_token: str) -> RefreshToken | None | |
| ``` | |
| #### `exchange_refresh_token` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/auth/providers/in_memory.py#L208" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| ```python | |
| exchange_refresh_token(self, client: OAuthClientInformationFull, refresh_token: RefreshToken, scopes: list[str]) -> OAuthToken | |
| ``` | |
| #### `load_access_token` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/auth/providers/in_memory.py#L263" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| ```python | |
| load_access_token(self, token: str) -> AccessToken | None | |
| ``` | |
| #### `verify_token` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/auth/providers/in_memory.py#L274" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| ```python | |
| verify_token(self, token: str) -> AccessToken | None | |
| ``` | |
| Verify a bearer token and return access info if valid. | |
| This method implements the TokenVerifier protocol by delegating | |
| to our existing load_access_token method. | |
| **Args:** | |
| - `token`: The token string to validate | |
| **Returns:** | |
| - AccessToken object if valid, None if invalid or expired | |
| #### `revoke_token` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/auth/providers/in_memory.py#L331" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| ```python | |
| revoke_token(self, token: AccessToken | RefreshToken) -> None | |
| ``` | |
| Revokes an access or refresh token and its counterpart. | |