أضف بيستون إلى موقعك ببضع نقاط اتصال برمجية

تعرض أداة ويب جاهزة رمز QR وزر الهاتف. يوقّع خادمك الطلب ويتلقّى نتيجة موقّعة وموثَّقة. ولا تتعامل أبدًا مع أدلة مستخدميك أو مفاتيحهم.

اقرأ دليل المطوّرينجرّب العرض التجريبي

المكوّنات

البطاقة والعنصر

البطاقة مجموعة موقّعة من العناصر في محفظة المستخدم. ولكل عنصر معرّف مثل bisotun.main.app.pseudonym (معرّف الحساب).

الجهة الطالبة

نظامك الخلفي. يُسجَّل لدى بيستون باسم محدد، مع مفتاح RSA العام الخاص بك (مستحسن) أو سرّ HMAC مشترك، وبصلاحية طلب عناصر محددة فقط.

خادم الجلسات

https://cert.bisotun.app. يدير كل طلب، ويتواصل مع المحفظة، ويتحقق من الدليل، ويعيد إليك النتيجة.

الأداة

@bisotun/frontend، المتاحة على /sdk/bisotun.js. تعرض رمز QR، وزر «فتح محفظة بيستون» على الهواتف، وخطوة الاقتران، بالفارسية والعربية والإنجليزية مع دعم الكتابة من اليمين إلى اليسار.

المسار

  1. البدء

    يستدعي المتصفح نظامك الخلفي. فيُنشئ نظامك الخلفي طلب إفصاح، ويوقّعه بصيغة JWT، ويرسله إلى https://cert.bisotun.app/session.

  2. التسليم

    يردّ خادم الجلسات بمؤشر جلسة، ورمز سري للجهة الطالبة، وطلب للواجهة الأمامية. تحتفظ بالرمز السري على خادمك، وتعيد المؤشر وطلب الواجهة الأمامية إلى الأداة.

  3. موافقة المستخدم

    تعرض الأداة رمز QR أو الزر. يفتح المستخدم الطلب في محفظة بيستون، فيشارك أو يرفض.

  4. النتيجة

    يتحقق خادم الجلسات من الدليل ويرسل النتيجة، بصيغة JWT موقّعة بمفتاحه، إلى عنوان callbackUrl الخاص بك عبر HTTPS.

  5. التحقق والمتابعة

    يتحقق نظامك الخلفي من التوقيع، ومن أن status هي DONE وproofStatus هي VALID وأن حالة كل عنصر PRESENT، ثم يُسجّل دخول المستخدم أو يتابع.

لا يرى المتصفح أبدًا مفتاحك ولا الرمز السري للجهة الطالبة، ولا يستطيع تغيير ما هو مطلوب.

على صفحتك

<section id="bisotun-form"></section>
<script src="https://wallet.bisotun.app/sdk/bisotun.js"></script>
<script>
  bisotun.newWeb({
    element: '#bisotun-form',
    language: 'ar',
    session: {
      url: '/api/bisotun',                  // YOUR back end
      start: { url: (o) => `${o.url}/start`, method: 'POST' },
      result: { url: (o, { sessionToken }) => `${o.url}/result/${sessionToken}` },
    },
  }).start()
    .then((result) => { /* logged in */ })
    .catch((endState) => { /* Cancelled, TimedOut, ... */ });
</script>

يعرض دليل المطوّرين جميع الخيارات، بما فيها مسارات نقاط الاتصال، ونسخة النافذة المنبثقة، وتخصيص المظهر، وإدخالات سياسة أمان المحتوى (Content Security Policy) التي تحتاج إليها. ويمكنك أيضًا تقديم الحزمة ومجلد fonts/ الخاص بها من موقعك.

على خادمك

يحدّد الطلب الموقّع العناصر التي تحتاج إليها:

{
  "iss": "your-requestor-name",
  "iat": 1790640000,
  "sub": "verification_request",
  "sprequest": {
    "callbackUrl": "https://your.site/api/bisotun/callback",
    "request": {
      "@context": "https://wallet.bisotun.app/ld/request/disclosure/v2",
      "disclose": [[["bisotun.main.app.pseudonym"]]]
    }
  }
}

disclose قائمة بالعناصر المطلوبة؛ ويمكن أن يقدّم كل منها بدائل، ويمكن لكل بديل أن يجمع عناصر من بطاقة واحدة. ويمكنك أيضًا اشتراط قيمة محددة. وتُرفض الطلبات التي مضى عليها أكثر من ٥ دقائق، لذا احرص على مزامنة ساعة خادمك.

ما الذي يمكنك طلبه

العنصر الحالة
bisotun.main.app.pseudonym — معرّف حساب المحفظة، عشوائي وهو نفسه لدى كل موقع متاح
bisotun.main.email.address — عنوان بريد إلكتروني وثّقته بيستون قريبًا
عناصر البطاقات التي تُصدرها جهات أخرى عند انضمام جهات الإصدار تلك

الحصول على صلاحية الوصول

  1. اطلب التسجيل

    راسلنا على support@bisotun.app. أخبرنا بموقعك والعناصر التي تحتاج إليها.

  2. استلم بياناتك

    اسم الجهة الطالبة الخاص بك، وصلاحية طلب العناصر المتّفق عليها، والمفتاح العام لخادم الجلسات للتحقق من النتائج. أرسل إلينا مفتاح RSA العام الخاص بك، أو استلم مفتاح HMAC.

  3. ابنِ واختبر

    اتّبع دليل المطوّرين، الذي يتضمن أمثلة كاملة بلغتي Node.js وPython، وقارن عملك مع العرض التجريبي، الذي يقدّم سيناريوه الرئيسي تسجيل الدخول هذا نفسه دون كلمة مرور باستخدام معرّف الحساب.

قائمة التحقق الأمنية

  • أنشئ الطلبات ووقّعها على خادمك فقط. لا ترسل مفتاحك أو الرمز السري للجهة الطالبة إلى المتصفح أبدًا.
  • لا تقبل نتيجة إلا بعد التأكد من صحة التوقيع وstatus وproofStatus وحالة كل عنصر.
  • استخدم كل نتيجة مرة واحدة. واستخدم HTTPS لعنوان الاستدعاء الراجع (callback).
  • اطلب أقل عدد ممكن من العناصر يفي بالغرض. فالمستخدمون يرون بالضبط ما تطلبه.
  • احفظ مفتاحك كما تحفظ كلمة المرور؛ وأبلغنا فورًا على security@bisotun.app إذا احتُمل تسرّبه.

غير متوفر بعد

كل ما تحتاج إليه موجود في الدليل.

دليل المطوّرينتنزيل الأداة