| 36 | /// A single entry in the auth store, keyed by MCP server name. |
| 37 | #[derive(Debug, Clone, Default, Serialize, Deserialize)] |
| 38 | pub struct AuthEntry { |
| 39 | #[serde(skip_serializing_if = "Option::is_none")] |
| 40 | pub tokens: Option<OAuthTokens>, |
| 41 | #[serde(skip_serializing_if = "Option::is_none")] |
| 42 | pub client_info: Option<OAuthClientInfo>, |
| 43 | #[serde(skip_serializing_if = "Option::is_none")] |
| 44 | pub code_verifier: Option<String>, |
| 45 | #[serde(skip_serializing_if = "Option::is_none")] |
| 46 | pub oauth_state: Option<String>, |
| 47 | /// The server URL these credentials belong to – invalidated on URL change. |
| 48 | #[serde(skip_serializing_if = "Option::is_none")] |
| 49 | pub server_url: Option<String>, |
| 50 | } |
| 51 | /// Resolve the path to the auth JSON file. |
| 52 | fn auth_file_path() -> PathBuf { |
| 53 | let data_dir = dirs::data_dir() |
nothing calls this directly
no outgoing calls
no test coverage detected