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-rustConfigurez 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));