تخطَّ إلى المحتوى الرئيسي
تصفّح التوثيق

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));
التحقق من نيّة على مسار أداة. عند النجاح تكون الحمولة المتحقَّق منها متاحة لمعالِجك؛ وعند الفشل تعيد حزمة SDK الرمز 403 قبل أن تعمل شيفرتك.

الخطوات التالية