واجهة برمجة التطبيقات الخاصة ببيانات الاعتماد الرقمية لإصدار بيانات الاعتماد

Natalia Markoborodova
Natalia Markoborodova

تاريخ النشر: 26 نوفمبر 2025

يمكنك الانضمام إلى مرحلة التجربة والتقييم لإصدار Digital Credentials API بدءًا من الإصدار 143 من Chrome. تسهّل واجهة برمجة التطبيقات الجديدة على المواقع الإلكترونية توفير بيانات اعتماد رقمية في المحفظة المفضّلة لدى المستخدم.

معلومات عامة

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

ولكي ينجح هذا النموذج، يحتاج جهة الإصدار إلى طريقة آمنة وموثوقة للتواصل مع تطبيق المحفظة من أجل إصدار بطاقة التعريف. كانت هذه العملية مجزّأة، إذ كان على كل جهة إصدار إنشاء اتصالات خاصة بها لكل تطبيق محفظة تتعاون معه، وعادةً ما كانت تعتمد على مخططات معرّفات موارد منتظمة (URI) مخصّصة. وقد أدّى هذا النهج إلى حدوث مشاكل كبيرة في التنفيذ، ما اضطر جهات الإصدار إلى إنشاء وصيانة منظومة متكاملة مجزّأة من عمليات الدمج المختلفة للمحافظ.

إصدار Digital Credentials API

لتبسيط هذه العملية، يوسّع Chrome نطاق توافقه مع W3C Digital Credentials API، بالإضافة إلى إمكانات العرض التي تم إطلاقها مؤخرًا. تسمح طريقة navigator.credentials.create() للمواقع الإلكترونية التابعة لجهات إصدار المستندات باستدعاء تطبيقات المحفظة بشكل آمن لإصدار المستندات. عندما يطلب موقع إلكتروني تابع لجهة إصدار navigator.credentials.create() من خلال عضو digital، يفوّض المتصفّح سير العمل إلى النظام الأساسي، الذي يقتصر على Android، اعتبارًا من الإصدار 143 من Chrome. تعرض المنصة قائمة بالمحافظ المتوافقة والمثبَّتة على الجهاز. يمكن للمستخدم بعد ذلك اختيار محفظة والموافقة على إضافة المستند.

تعمل واجهة برمجة التطبيقات Digital Credentials API لإصدار بيانات الاعتماد الرقمية في سيناريوهات الجهاز نفسه (على الجهاز الجوّال) والسيناريوهات التي تتضمّن أجهزة متعدّدة (بدء العملية على الكمبيوتر المكتبي). في سيناريو استخدام أجهزة متعددة، يعرض متصفّح سطح المكتب رمز استجابة سريعة. عندما يمسح المستخدم الرمز ضوئيًا على جهازه الجوّال، سيبدأ مسار المصادقة الذي يتوسّطه النظام الأساسي، إذا كان الجهازان متجاورَين.

كيفية استخدام واجهة برمجة التطبيقات

واجهة برمجة التطبيقات مستقلة عن البروتوكول ومصمَّمة للعمل مع المعايير المفتوحة، مثل معيار OpenID لإصدار بيانات الاعتماد التي يمكن التحقّق منها (OpenID4VCI).

لبدء عملية الإصدار، يجب أن يطلب الموقع الإلكتروني الخاص بجهة الإصدار navigator.credentials.create() وأن يمرّر طلبات الإصدار داخل عنصر digital، على سبيل المثال:

// Check if the browser supports Digital Credentials issuance and the protocol.
if (window.DigitalCredential && DigitalCredential.userAgentAllowsProtocol('openid4vci-v1')) {

  // Construct a credential offer according to the OpenID4VCI specification.
  // Note: The API is in an active development stage. Always consult the
  // specification and documentation for the most recent implementation details
  const credentialOffer = {
    credential_issuer: 'https://digital-credentials.dev',
    credential_configuration_ids: [
      'org.iso.18013.5.1.mDL'
    ],
    authorization_server_metadata: {
      issuer: 'https://digital-credentials.dev',
      token_endpoint: 'https://digital-credentials.dev/openid4vci/token',
      authorization_endpoint: 'https://digital-credentials.dev/openid4vci/auth',
      grant_types_supported: [
        'authorization_code',
        'urn:ietf:params:oauth:grant-type:pre-authorized_code'
      ],
      response_types_supported: ['code','token']
    },
    // Metadata details to help the wallet display the credential correctly.
    credential_issuer_metadata: {
      credential_endpoint: 'https://digital-credentials.dev/openid4vci/credential',
      credential_configurations_supported: {
        'org.iso.18013.5.1.mDL': {
          format: 'mso_mdoc',
          display: [{
            name: 'Driving License',
            locale: 'en-US',
            description: 'Mobile Driving License'
          }],
          // The claims that this document contains.
          // For a full list of standard mDL claims, see the ISO/IEC 18013-5 specification.
          claims: [{
            path: ['org.iso.18013.5.1', 'family_name'],
            display: [{ name: 'Family Name', locale: 'en-US' }]
          }
          // ... Add any other claims for your document here.
          ]
        }
      }
    }
  };

  // This call is made from the issuer's frontend, likely inside a button's click handler.
  try {
    await navigator.credentials.create({
      digital: {
        requests: [{
          // The protocol identifier for this version of OpenID4VCI.
          protocol: 'openid4vci-v1',
          data: credentialOffer
          }
        }]
      }
    });
    console.log('Credential issuance handoff to OS was successful.');
  } catch (e) {
    console.error('Error starting the credential issuance flow:', e);
  }

} else {
  // The API is not supported. Provide an alternative issuance method.
  console.log('Digital Credential Issuance API is not supported in this browser.');
}

جرِّبه الآن

قبل اختبار واجهة برمجة التطبيقات Digital Credentials API في متصفّحك وجهاز Android، عليك اتّباع الخطوات التالية:

  • تثبيت الإصدار 143 من Chrome أو إصدار أحدث على الكمبيوتر المكتبي، وتثبيت الإصدار 24.0 من "خدمات Google Play" أو إصدار أحدث على جهاز Android
  • فعِّل الميزة التجريبية على chrome://flags/#web-identity-digital-credentials-creation في متصفّحك.
  • ثبِّت تطبيق محفظة متوافقًا على جهاز Android، مثل demo CMWallet.

لاختبار مسار إصدار المستندات الرقمية على أجهزة متعددة، اتّبِع الخطوات التالية:

  1. انتقِل إلى https://digital-credentials.dev/dmv على الكمبيوتر المكتبي.
  2. اضغط على زر إضافة لبدء عملية الإصدار.
  3. امسح رمز الاستجابة السريعة ضوئيًا باستخدام جهاز Android واتّبِع التعليمات.

بعد اتّباع هذه الخطوات، ستحصل على مستند تعريف جديد صادر إلى المحفظة على جهاز Android.

لتفعيل هذه الميزة على موقعك الإلكتروني للمستخدمين، انضم إلى التجربة الأصلية لواجهة برمجة التطبيقات الخاصة ببيانات الاعتماد الرقمية. لمزيد من المعلومات، يمكنك الاطّلاع على المقالة البدء في استخدام التجارب الأصلية.

مشاركة ملاحظاتك

ملاحظاتك مهمة للغاية لأنّنا نواصل تطوير المنصة. يمكنك الإبلاغ عن أي أخطاء أو طلبات ميزات في أداة تتبُّع أخطاء Chromium.