게시일: 2025년 11월 26일
Chrome 143부터 디지털 사용자 인증 정보 API 발급의 오리진 트라이얼에 참여할 수 있습니다. 이 새로운 API를 사용하면 웹사이트에서 사용자가 선호하는 월렛에 디지털 사용자 인증 정보를 더 쉽게 프로비저닝할 수 있습니다.
배경
발급자, 인증자 (신뢰 당사자), 보유자 (지갑)로 구성된 3자 디지털 ID 생태계에서 사용자는 푸시 프로비저닝을 통해 지갑에 디지털 ID를 프로비저닝하는 것이 일반적입니다. 이 과정에서 사용자는 발급기관의 웹사이트나 앱에서 직접 신원 증명 발급 절차를 시작합니다. 예를 들어 주의 차량국 (발급기관) 웹사이트를 방문한 사용자는 기기에서 원하는 지갑 앱(보유자)에 디지털 면허증을 저장하는 절차를 시작할 수 있습니다.
이 모델이 성공하려면 발급자가 지갑 앱과 연결하여 ID를 발급할 수 있는 안전하고 안정적인 방법이 필요합니다. 이 프로세스는 각 발급자가 파트너십을 맺은 모든 지갑 앱에 자체 연결을 구축해야 했기 때문에 단편화되었으며, 일반적으로 맞춤 URI 스키마를 사용했습니다. 이 접근 방식은 구현에 상당한 마찰을 일으켜 발급자가 다양한 지갑 통합의 분산된 생태계를 지원하도록 강제했습니다.
디지털 사용자 인증 정보 API 발급
이 프로세스를 간소화하기 위해 Chrome에서는 최근에 출시된 제출 기능에 더해 W3C 디지털 사용자 인증 정보 API 지원을 확대하고 있습니다.
navigator.credentials.create() 메서드를 사용하면 발급자 웹사이트가 사용자 인증 정보 발급을 위해 지갑 앱을 안전하게 호출할 수 있습니다. 발급자 웹사이트가 digital 멤버와 함께 navigator.credentials.create()를 호출하면 브라우저는 흐름을 플랫폼에 위임합니다. Chrome 143부터는 Android로 제한됩니다.
플랫폼에 기기에 설치된 호환 지갑 목록이 표시됩니다.
그러면 사용자가 지갑을 선택하고 사용자 인증 정보를 추가하는 데 동의할 수 있습니다.
디지털 사용자 인증 정보 API 발급은 동일 기기 (모바일) 및 교차 기기 (데스크톱에서 시작) 시나리오 모두에서 작동합니다. 교차 기기 시나리오에서 데스크톱 브라우저에 QR 코드가 표시됩니다. 사용자가 휴대기기에서 코드를 스캔하면 두 기기가 모두 가까운 거리에 있는 경우 플랫폼 중재 흐름이 시작됩니다.
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.');
}
사용해 보기
브라우저와 Android 기기에서 디지털 사용자 인증 정보 API를 테스트하기 전에 다음을 확인하세요.
- 데스크톱에서 Chrome 143 이상으로 업데이트하고 Android 기기에서 Google Play 서비스 24.0 이상을 사용합니다.
- 브라우저의
chrome://flags/#web-identity-digital-credentials-creation에서 플래그를 사용 설정합니다. - Android 기기에 지원되는 월렛 앱(예: 데모 CMWallet)을 설치합니다.
디지털 사용자 인증 정보를 발급하기 위한 교차 기기 흐름을 테스트하려면 다음 단계를 따르세요.
- 데스크톱에서 https://digital-credentials.dev/dmv로 이동합니다.
- 추가 버튼을 눌러 발급 흐름을 시작합니다.
- Android 기기로 QR 코드를 스캔하고 메시지를 따릅니다.
이 단계를 따르면 Android 기기의 지갑에 새 사용자 인증 정보가 발급됩니다.
사용자를 위해 웹사이트에서 이 기능을 사용 설정하려면 발급을 위한 디지털 사용자 인증 정보 API 트라이얼에 참여하세요. 자세한 내용은 오리진 트라이얼 시작하기 도움말을 참고하세요.
의견 공유
플랫폼을 계속 발전시켜 나가는 데 여러분의 의견이 매우 중요합니다. Chromium 버그 추적기에 버그나 기능 요청을 제출합니다.