Опубликовано: 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 .
Чтобы протестировать кросс-устройствовый поток выдачи цифровых учетных данных:
- Перейдите по адресу https://digital-credentials.dev/dmv на рабочем столе.
- Нажмите кнопку «Добавить» , чтобы начать процесс выдачи.
- Отсканируйте QR-код с помощью устройства Android и следуйте инструкциям.
После выполнения этих шагов вам будут выданы новые учетные данные для кошелька на вашем Android-устройстве.
Чтобы включить эту функцию на вашем сайте для пользователей, присоединитесь к пробной версии API цифровых учётных данных для выдачи сертификатов Origin . Подробнее см. в статье «Начало работы с пробными версиями Origin» .
Поделитесь своим мнением
Ваши отзывы очень важны для нас, поскольку мы продолжаем развивать платформу. Сообщайте о любых ошибках или предложениях по улучшению функций в системе отслеживания ошибок Chromium .