INNER CODE UNIT · Rust

perform_oauth_flow_preregistered

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

async fn perform_oauth_flow_preregistered(
    server_url: &str,
    client_id: &str,
    client_secret: &str,
) -> anyhow::Result<AuthClient<reqwest::Client>> {
    let challenge = initialize_challenge(server_url, conformance_lifecycle()).await?;
    let mut oauth = OAuthState::new(server_url, None).await?;

    let request = AuthorizationRequest::new(REDIRECT_URI)
        .with_preregistered_client(client_id)
        .with_client_secret(client_secret);
    oauth
        .start_authorization(with_optional_challenge(request, challenge))
        .await?;

    let auth_url = oauth.get_authorization_url().await?;
    let callback = headless_authorize(&auth_url).await?;
    oauth

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…