דלג לתוכן הראשי
עיון בתיעוד

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));
אימות כוונה על נתיב כלי. בהצלחה, המטען המאומת זמין ל-handler שלכם; בכישלון, ערכת ה-SDK מחזירה 403 לפני שהקוד שלכם רץ.

השלבים הבאים