Rust
تحقّق من نيّات وكيل Syncanix في Rust — Axum وActix Web وTower — بفحص HMAC محلي على كل استدعا ء أداة.
توفّر حزمة SDK للغة Rust مستخرِجات وطبقات لـ Axum وActix Web وTower فوق نواة تحقق مشتركة. يتحقق المستخرِج من الترويسة ويرفض حالات الفشل بالرمز 403 قبل أن يعمل معالِجك.
التثبيت
أضف الحزمة إلى مشروعك بمدير الحزم الخاص بلغتك.
cargo add syncanix-sdk-rustضبط السرّ
تتحقق حزمة SDK من النيّات بسرّ توقيع النيّة الخاص بمستأجرك. خزّنه كمتغيّر بيئة — ولا تودعه في نظام إدارة الشيفرة أبدًا — وحمِّله حيث تسجّل حزمة SDK.
export SYNCANIX_INTENT_SECRET="your-intent-signing-secret"التحقق من النيّات
سجِّل حزمة SDK على المسارات التي تعرض إجراءات الوكيل. فهي تتحقق من ترويسة X-Syncanix-Intent قبل تشغيل معالِجك، وترفض أي استدعاء غير صالح أو مُعاد إرساله بالرمز 403، وتسلّم معالِجك الحمولة المتحقَّق منها — بما فيها المستأجر والمستخدم الفاعلان.
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));