{"record":{"id":"e1f98c2cf9a11c06","repo":"zed-industries/zed","slug":"no-authorization-servers-in-resource-metadata","errorCode":null,"errorMessage":"no authorization servers in resource metadata","messagePattern":"no authorization servers in resource metadata","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/context_server/src/oauth.rs","lineNumber":867,"sourceCode":"        issuer\n    )\n}\n\n/// Run the full discovery flow: fetch resource metadata, then auth server\n/// metadata, then select scopes. Client registration is resolved separately,\n/// once the real redirect URI is known.\npub async fn discover(\n    http_client: &Arc<dyn HttpClient>,\n    server_url: &Url,\n    www_authenticate: &WwwAuthenticate,\n) -> Result<OAuthDiscovery> {\n    let resource_metadata =\n        fetch_protected_resource_metadata(http_client, server_url, www_authenticate).await?;\n\n    let auth_server_url = resource_metadata\n        .authorization_servers\n        .first()\n        .ok_or_else(|| anyhow!(\"no authorization servers in resource metadata\"))?;\n\n    let auth_server_metadata = fetch_auth_server_metadata(http_client, auth_server_url).await?;\n\n    // Verify PKCE S256 support (spec requirement).\n    match &auth_server_metadata.code_challenge_methods_supported {\n        Some(methods) if methods.iter().any(|m| m == \"S256\") => {}\n        Some(_) => bail!(\"authorization server does not support S256 PKCE\"),\n        None => bail!(\"authorization server does not advertise code_challenge_methods_supported\"),\n    }\n\n    let scopes = select_scopes(www_authenticate, &resource_metadata);\n\n    Ok(OAuthDiscovery {\n        resource_metadata,\n        auth_server_metadata,\n        scopes,\n    })\n}","sourceCodeStart":849,"sourceCodeEnd":885,"githubUrl":"https://github.com/zed-industries/zed/blob/bc538def4545534201bbfcac4e95ac34ea6501b6/crates/context_server/src/oauth.rs#L849-L885","documentation":"Error \"no authorization servers in resource metadata\" thrown in zed-industries/zed.","triggerScenarios":"Thrown at crates/context_server/src/oauth.rs:867 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"bc538def4545534201bbfcac4e95ac34ea6501b6","analyzedAt":"2026-08-16T07:30:46.435Z","schemaVersion":2},"datasetVersion":"2026-08-16T08:17:34.114Z"}