MCPcopy Create free account
hub / github.com/ChrisFeldmeier/OpenCodeRust / authenticate

Method authenticate

crates/opencode-server/src/mcp_oauth.rs:393–408  ·  view source on GitHub ↗
(&self, server_name: &str)

Source from the content-addressed store, hash-verified

391 }
392
393 pub async fn authenticate(&self, server_name: &str) -> Result<McpServerInfo, McpOAuthError> {
394 let managed = self.managed_server(server_name).await?;
395 if !managed.config.oauth_required() {
396 return Err(McpOAuthError::OAuthNotSupported(server_name.to_string()));
397 }
398
399 let current = self.oauth_status_for(server_name).await;
400 if current == Some(McpOAuthStatus::Authorized) {
401 self.log_event(server_name, "info", "OAuth already authorized")
402 .await;
403 return self.connect(server_name).await;
404 }
405
406 self.start_oauth(server_name).await?;
407 self.connect(server_name).await
408 }
409
410 pub async fn get_server(&self, server_name: &str) -> Option<McpServerInfo> {
411 if let Some(status) = self.statuses.read().await.get(server_name) {

Callers 1

mcp_authenticateFunction · 0.80

Calls 6

managed_serverMethod · 0.80
oauth_requiredMethod · 0.80
oauth_status_forMethod · 0.80
start_oauthMethod · 0.80
log_eventMethod · 0.45
connectMethod · 0.45

Tested by

no test coverage detected