Rust
אמתו כוונות סוכן של Syncanix ב-Rust — Axum, Actix Web ו-Tower — עם בדיקת HMAC מקומית על כל קריאת כלי.
ערכת ה-SDK ל-Rust מספקת extractors ו-layers ל-Axum, ל-Actix Web ול-Tower מעל ליבת אימות משותפת. ה-extractor מאמת את הכותרת ודוחה כשלים עם 403 לפני שה-handler שלכם רץ.
התקנה
הוסיפו את החבילה לפרויקט שלכם עם מנהל החבילות של השפה שלכם.
cargo add syncanix-sdk-rustהגדרת הסוד
ערכת ה-SDK מאמתת כוונות עם סוד חתימת הכוונות של הטננט שלכם. שמרו אותו כמשתנה סביבה — לעולם אל תעלו אותו לניהול הגרסאות — וטענו אותו במקום שבו אתם רושמים את ערכת ה-SDK.
export SYNCANIX_INTENT_SECRET="your-intent-signing-secret"אימות כוונות
רשמו את ערכת ה-SDK על הנתיבים שחושפים פעולות סוכן. היא מאמתת את כותרת X-Syncanix-Intent לפני שה-handler שלכם רץ, דוחה כל קריאה לא תקפה או משודרת מחדש עם 403, ומוסרת ל-handler שלכם את המטען המאומת — כולל הטננט והמשתמש הפועלים.
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));