INNER CODE UNIT · Rust

run_auth_scope_retry_limit_client

modelcontextprotocol/rust-sdk · conformance/src/bin/client.rs:491

async fn run_auth_scope_retry_limit_client(
    server_url: &str,
    _ctx: &ConformanceContext,
) -> anyhow::Result<()> {
    let max_retries = 3u32;
    let mut attempt = 0u32;
    let challenge = initialize_challenge(server_url, conformance_lifecycle()).await?;

    loop {
        let mut oauth = OAuthState::new(server_url, None).await?;
        let request = AuthorizationRequest::new(REDIRECT_URI)
            .with_client_name("conformance-client")
            .with_client_metadata_url(CIMD_CLIENT_METADATA_URL);
        oauth
            .start_authorization(with_optional_challenge(request, challenge.clone()))
            .await?;
        let auth_url = oauth.get_authorization_url().await?;
        let callback = headless_authorize(&auth_url).await?;

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…