Digital Credentials API สำหรับการออกเอกสารรับรอง

Natalia Markoborodova
Natalia Markoborodova

เผยแพร่: 26 พฤศจิกายน 2025

คุณสามารถเข้าร่วมช่วงทดลองใช้จากต้นทางสำหรับการออก Digital Credentials API ได้ตั้งแต่ Chrome 143 เป็นต้นไป API ใหม่นี้ช่วยให้เว็บไซต์จัดสรรข้อมูลประจำตัวดิจิทัลไปยังวอลเล็ตที่ผู้ใช้ต้องการได้ง่ายขึ้น

พื้นหลัง

ในระบบนิเวศของข้อมูลประจำตัวดิจิทัลแบบ 3 ฝ่ายของผู้ให้บริการ ผู้ออกใบรับรอง (บุคคลที่เชื่อถือได้) และผู้ถือ (กระเป๋าเงิน) ผู้ใช้มักจะจัดสรรบัตรประจำตัวดิจิทัลในกระเป๋าเงินผ่านการจัดสรรแบบพุช ในกระบวนการนี้ ผู้ใช้จะเริ่มกระบวนการออกบัตรประจำตัวจากเว็บไซต์หรือแอปของผู้ให้บริการโดยตรง เช่น ผู้ใช้ที่เข้าชมเว็บไซต์กรมการขนส่งทางบกของรัฐ (ผู้ออกบัตร) สามารถเริ่มกระบวนการบันทึกใบอนุญาตดิจิทัลลงในแอปกระเป๋าเงินที่ต้องการ (ผู้ถือบัตร) ในอุปกรณ์ของตนได้

หากต้องการให้โมเดลนี้ประสบความสำเร็จ ผู้ออกบัตรต้องมีวิธีที่ปลอดภัยและเชื่อถือได้ในการเชื่อมต่อกับแอปกระเป๋าเงินเพื่อออกบัตรประจำตัว กระบวนการนี้มีความซับซ้อน เนื่องจากผู้ออกบัตรแต่ละรายต้องสร้างการเชื่อมต่อของตนเองสำหรับแอปกระเป๋าเงินทุกแอปที่ เป็นพาร์ทเนอร์ด้วย โดยปกติแล้วจะอาศัยรูปแบบ URI ที่กำหนดเอง แนวทางนี้สร้าง อุปสรรคในการติดตั้งใช้งานอย่างมาก ทำให้ผู้ออกบัตรต้องสร้างและบำรุงรักษา การรองรับระบบนิเวศที่กระจัดกระจายของการผสานรวมกระเป๋าเงินต่างๆ

การออก Digital Credentials API

Chrome กำลังขยายการรองรับ W3C Digital Credentials API เพื่อปรับปรุงกระบวนการนี้ และเพิ่มความสามารถในการนำเสนอที่เพิ่งเปิดตัวไป วิธีการ navigator.credentials.create() ช่วยให้เว็บไซต์ของผู้ออกบัตรเรียกใช้แอปกระเป๋าเงินเพื่อออกข้อมูลเข้าสู่ระบบได้อย่างปลอดภัย เมื่อเว็บไซต์ผู้ออกเรียกใช้ navigator.credentials.create() กับสมาชิก digital เบราว์เซอร์จะ มอบสิทธิ์โฟลว์ให้กับแพลตฟอร์ม ซึ่งจำกัดไว้เฉพาะ Android ตั้งแต่ Chrome 143 เป็นต้นไป แพลตฟอร์มจะแสดงรายการกระเป๋าเงินที่เข้ากันได้ซึ่งติดตั้งในอุปกรณ์ จากนั้นผู้ใช้จะเลือกกระเป๋าเงินและให้ความยินยอมในการเพิ่มข้อมูลเข้าสู่ระบบได้

การออก API ข้อมูลประจำตัวดิจิทัลใช้ได้ทั้งในสถานการณ์ที่ใช้อุปกรณ์เครื่องเดียวกัน (บนอุปกรณ์เคลื่อนที่) และ ข้ามอุปกรณ์ (เริ่มจากเดสก์ท็อป) ในสถานการณ์ข้ามอุปกรณ์ เบราว์เซอร์บนเดสก์ท็อปจะแสดงคิวอาร์โค้ด เมื่อผู้ใช้สแกนรหัสในอุปกรณ์เคลื่อนที่ ระบบจะเริ่มขั้นตอนที่แพลตฟอร์มเป็นตัวกลาง หากอุปกรณ์ทั้ง 2 เครื่องอยู่ใกล้กัน

วิธีใช้ API

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 ให้ทำดังนี้

  • อัปเดตเป็น Chrome 143 ขึ้นไปบนเดสก์ท็อปและมีบริการ Google Play 24.0 ขึ้นไปในอุปกรณ์ Android
  • เปิดใช้ฟีเจอร์ที่ chrome://flags/#web-identity-digital-credentials-creation ในเบราว์เซอร์
  • ติดตั้งแอปกระเป๋าเงินที่รองรับในอุปกรณ์ Android เช่น demo CMWallet

วิธีทดสอบขั้นตอนข้ามอุปกรณ์สำหรับการออกข้อมูลเข้าสู่ระบบดิจิทัล

  1. ไปที่ https://digital-credentials.dev/dmv บนเดสก์ท็อป
  2. กดปุ่มเพิ่มเพื่อเริ่มขั้นตอนการออกบัตร
  3. สแกนคิวอาร์โค้ดด้วยอุปกรณ์ Android แล้วทำตามข้อความแจ้ง

หลังจากทำตามขั้นตอนเหล่านี้ คุณจะได้รับข้อมูลเข้าสู่ระบบใหม่ที่ออกให้กระเป๋าเงินใน อุปกรณ์ Android

หากต้องการเปิดใช้ฟีเจอร์นี้ในเว็บไซต์สำหรับผู้ใช้ ให้เข้าร่วมDigital Credentials API สำหรับการทดลองใช้ต้นทางของการออก ดูข้อมูลเพิ่มเติมได้ที่บทความเริ่มต้นใช้งาน Origin Trials

แชร์ความคิดเห็น

ความคิดเห็นของคุณสำคัญอย่างยิ่งต่อการพัฒนาแพลตฟอร์มต่อไป รายงานข้อบกพร่องหรือคำขอฟีเจอร์ในเครื่องมือติดตามข้อบกพร่องของ Chromium