aller au contenu principal
Parcourir la documentation

Rust

Vérifiez les intentions de l’agent Syncanix en Rust — Axum, Actix Web et Tower — avec un contrôle HMAC local sur chaque appel d’outil.

Le SDK Rust fournit des extracteurs et des couches pour Axum, Actix Web et Tower au-dessus d’un cœur de vérification partagé. L’extracteur vérifie l’en-tête et rejette les échecs avec un 403 avant l’exécution de votre gestionnaire.

Installation

Ajoutez le paquet à votre projet avec le gestionnaire de paquets de votre langage.

cargo add syncanix-sdk-rust

Configurez le secret

Le SDK vérifie les intentions avec le secret de signature d’intention de votre tenant. Stockez-le dans une variable d’environnement — ne le versionnez jamais dans votre code source — et chargez-le à l’endroit où vous enregistrez le SDK.

export SYNCANIX_INTENT_SECRET="your-intent-signing-secret"

Vérifiez les intentions

Enregistrez le SDK sur les routes qui exposent des actions d’agent. Il vérifie l’en-tête X-Syncanix-Intent avant l’exécution de votre gestionnaire, rejette tout appel invalide ou rejoué avec un 403, et transmet à votre gestionnaire la charge utile vérifiée — y compris le tenant et l’utilisateur agissants.

use std::sync::Arc;
use axum::{Extension, Router, routing::post, Json};
use syncanix_sdk_rust::axum::{SyncanixIntent, SyncanixConfig};

async fn refund_handler(SyncanixIntent(intent): SyncanixIntent) -> Json<serde_json::Value> {
    Json(serde_json::json!({ "tenantId": intent.tenant_id }))
}

let config = Arc::new(SyncanixConfig::new(std::env::var("SYNCANIX_INTENT_SECRET").unwrap()));

let app: Router<()> = Router::new()
    .route("/tools/refund", post(refund_handler))
    .layer(Extension(config));
Vérification d’une intention sur une route d’outil. En cas de succès, la charge utile vérifiée est disponible pour votre gestionnaire ; en cas d’échec, le SDK renvoie 403 avant que votre code ne s’exécute.

Étapes suivantes