API цифровых учетных данных для выдачи учетных данных

Наталья Маркобородова
Natalia Markoborodova

Опубликовано: 26 ноября 2025 г.

Вы можете присоединиться к пробной версии API цифровых учетных данных, начиная с Chrome 143. Этот новый API упрощает для веб-сайтов предоставление цифровых учетных данных предпочитаемому кошельку пользователя.

Фон

В трёхсторонней экосистеме цифровой идентификации, состоящей из эмитентов, верификаторов (проверяющих сторон) и держателей (кошельков), пользователь обычно предоставляет цифровое удостоверение личности в своём кошельке посредством push-подключения. В ходе этого процесса пользователь запускает процесс выдачи удостоверения личности непосредственно с веб-сайта или приложения эмитента. Например, пользователь, посещающий веб-сайт государственного транспортного управления (эмитента), может инициировать процесс сохранения своего цифрового удостоверения в предпочитаемом приложении кошелька (держателя) на своём устройстве.

Для успешной работы этой модели эмитенту необходим безопасный и надёжный способ подключения к приложению-кошельку для выдачи идентификатора. Этот процесс был фрагментированным, поскольку каждому эмитенту приходилось создавать собственные соединения для каждого приложения-кошелька, с которым он сотрудничал, обычно используя собственные схемы URI. Такой подход создавал значительные трудности при реализации, вынуждая эмитентов создавать и поддерживать разрозненную экосистему различных интеграций с кошельками.

Выдача API цифровых учетных данных

Чтобы упростить этот процесс, Chrome расширяет поддержку API цифровых учётных данных W3C , добавляя к недавно реализованным возможностям представления . Метод navigator.credentials.create() позволяет веб-сайтам эмитентов безопасно вызывать приложения-кошельки для выпуска учётных данных. Когда веб-сайт эмитента вызывает navigator.credentials.create() с digital участником, браузер делегирует процесс платформе, которая, начиная с Chrome 143, ограничена Android. Платформа отображает список совместимых кошельков, установленных на устройстве. Пользователь может выбрать кошелёк и дать согласие на добавление учётных данных.

Выдача цифровых учётных данных через API работает как на одном устройстве (на мобильном устройстве), так и на нескольких устройствах (инициируется на настольном компьютере). В кросс-девайсном сценарии браузер настольного компьютера отображает QR-код. Когда пользователь сканирует код на своём мобильном устройстве, запускается процесс, опосредованный платформой, если оба устройства находятся близко друг к другу.

Как использовать API

API не зависит от протокола и разработан для работы с открытыми стандартами, например, стандартом OpenID for Verifiable Credential Issuance (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.');
}

Попробуйте это

Прежде чем тестировать API цифровых учетных данных в браузере и на устройстве Android:

  • Обновите Chrome до версии 143 или более поздней на компьютере и установите сервисы Google Play версии 24.0 или более поздней на вашем Android-устройстве.
  • Включите флаг в браузере по адресу chrome://flags/#web-identity-digital-credentials-creation .
  • Установите поддерживаемое приложение-кошелек на свое Android-устройство, например, демо-версию CMWallet .

Чтобы протестировать кросс-устройствовый поток выдачи цифровых учетных данных:

  1. Перейдите по адресу https://digital-credentials.dev/dmv на рабочем столе.
  2. Нажмите кнопку «Добавить» , чтобы начать процесс выдачи.
  3. Отсканируйте QR-код с помощью устройства Android и следуйте инструкциям.

После выполнения этих шагов вам будут выданы новые учетные данные для кошелька на вашем Android-устройстве.

Чтобы включить эту функцию на вашем сайте для пользователей, присоединитесь к пробной версии API цифровых учётных данных для выдачи сертификатов Origin . Подробнее см. в статье «Начало работы с пробными версиями Origin» .

Поделитесь своим мнением

Ваши отзывы очень важны для нас, поскольку мы продолжаем развивать платформу. Сообщайте о любых ошибках или предложениях по улучшению функций в системе отслеживания ошибок Chromium .