Цифровые учетные данные — это криптографически проверяемые документы, которые можно использовать для аутентификации, авторизации или иного предоставления информации о пользователе. Обычно это такие вещи, как мобильные водительские права, цифровые паспорта, посадочные талоны и т. д. Они находятся в виртуальных контейнерах, называемых цифровыми кошельками, и являются частью стандарта W3C, который определяет, как получить к ним доступ и получить их. Этот стандарт реализован для сценариев использования в Интернете с помощью W3C Credential Management API и на Android с помощью DigitalCredential API Credential Manager.
Понимание цифровых учетных данных
В физическом мире человек может хранить свою личность в своем кошельке и предоставлять ее запрашивающей стороне, когда ее спросят:
В этом случае пользователь обычно имеет один кошелек и извлекает запрошенные учетные данные из кошелька для предоставления запрашивающей стороне. Кошельки в основном взаимозаменяемы и в них обычно можно хранить одни и те же вещи.
Цифровые учетные данные имеют несколько основных отличий:
- Ожидается, что у пользователей будет несколько кошельков, которые могут содержать различные учетные данные. Кошельки определяют, какие учетные данные могут храниться внутри них.
- Запрашивающим теперь является приложение, а не реальный человек, и он называется проверяющим.
- Представление учетных данных происходит в программном обеспечении, что означает, что поверхность API извлекает и представляет учетные данные — в Android это диспетчер учетных данных.
Таким образом, Credential Manager берет на себя несколько ролей, которые раньше выполнял пользователь:
- На Android кошельки должны зарегистрировать метаданные своих учетных данных в Credential Manager, чтобы они отображались в пользовательском интерфейсе Credential Manager.
- Диспетчер учетных данных сопоставляет учетные данные разных кошельков на основе запроса и предоставляет пользователю список для выбора.
- Когда пользователь выбирает учетные данные в списке, диспетчер учетных данных затем вызывает кошелек, который обработает оставшуюся часть транзакции (отображение пользовательских интерфейсов и т. д.) и вернет учетные данные приложению.
Этот поток показан здесь:
Пользовательский опыт
Как показано в потоке Android, пользователю нужно только один раз взаимодействовать с пользовательским интерфейсом диспетчера учетных данных, чтобы выбрать соответствующие учетные данные. Вот пример того, как выглядит селектор:

Стандарты
Запросы цифровых учетных данных создаются с использованием стандарта OpenID4VP . Посмотреть примеры запросов можно на сайте Digital Credentials Demo .
Ответы на цифровые учетные данные обычно возвращаются в стандартизированном формате учетных данных. Они поддерживаются различными организациями по стандартизации и включают в себя проверяемые учетные данные W3C , sd-jwt и mdoc .
Также возможны пользовательские протоколы, хотя мы рекомендуем использовать в вашем приложении один из стандартных протоколов.
Попробуйте это
Вы можете протестировать поток цифровых учетных данных на разных платформах с помощью кошелька Android и веб-верификатора:
- Установите общедоступный образец CMWallet на свой телефон Android. Вы можете сделать это, извлекая из репозитория и устанавливая непосредственно из Android Studio или перейдя по адресу https://github.com/digitalcredentialsdev/CMWallet/actions и выбрав последнюю сборку для доступа к последнему файлу
app-debug.apk
. - Откройте CMWallet, чтобы зарегистрировать метаданные в Credential Manager. Убедитесь, что Bluetooth включен, чтобы ваши устройства могли подключаться друг к другу.
- Перейдите на https://digital-credentials.dev/ и выберите
Request Credentials (OpenID4VP)
. - Примите предупреждающие запросы и отсканируйте QR-код с помощью телефона, затем выберите «Использовать ключ доступа» и коснитесь подтверждения, чтобы отобразить доступные учетные данные.
- Выберите учетные данные в CMWallet, чтобы вернуться в браузер. Браузер должен отобразить возвращенные учетные данные.
См. также
- Чтобы узнать больше об использовании диспетчера учетных данных для запроса цифровых учетных данных в вашем приложении, прочтите страницу «Диспетчер учетных данных — API-интерфейс Verifier» .
- Чтобы узнать больше о создании цифрового кошелька с помощью Credential Manager, прочтите страницу Credential Manager — Holder API .