Publicado em: 26 de novembro de 2025
Você pode participar do teste de origem para a emissão da API Digital Credentials a partir do Chrome 143. Com essa nova API, os sites podem provisionar credenciais digitais na carteira preferida do usuário com mais facilidade.
Informações
No ecossistema de identidade digital de três partes (emissores, verificadores [partes confiáveis] e titulares [carteiras]), é comum que um usuário provisione um documento de identificação digital na carteira usando o provisionamento por push. Durante o processo, o usuário inicia a emissão do documento de identificação diretamente no site ou app do emissor. Por exemplo, um usuário que acessa o site do departamento de veículos automotores de um estado (emissor) pode iniciar o processo para salvar a carteira de habilitação digital no app de carteira preferido (titular) no dispositivo.
Para que esse modelo seja bem-sucedido, o emissor precisa de uma maneira segura e confiável de se conectar ao app carteira para emitir o documento. Esse processo foi fragmentado, já que cada emissor precisava criar as próprias conexões para cada app de carteira com que fazia parceria, geralmente usando esquemas de URI personalizados. Essa abordagem criou um atrito significativo na implementação, forçando os emissores a criar e manter suporte para um ecossistema fragmentado de diferentes integrações de carteira.
A emissão da API Digital Credentials
Para simplificar esse processo, o Chrome está ampliando o suporte à API W3C Digital Credentials,
além dos recursos de apresentação lançados recentemente.
O método navigator.credentials.create() permite que os sites dos emissores invoquem com segurança
apps de carteira para emissão de credenciais. Quando um site emissor chama
navigator.credentials.create() com um membro digital, o navegador
delega o fluxo à plataforma, que é limitada ao Android, a partir do Chrome 143.
A plataforma mostra uma lista de carteiras digitais compatíveis instaladas no dispositivo.
Em seguida, o usuário pode selecionar uma carteira e dar consentimento para adicionar a credencial.
A emissão da API Digital Credentials funciona em cenários no mesmo dispositivo (em dispositivos móveis) e em vários dispositivos (iniciado em computadores). Em um cenário entre dispositivos, o navegador para computador mostra um QR code. Quando o usuário digitaliza o código no dispositivo móvel, o fluxo mediado pela plataforma é iniciado se os dois dispositivos estiverem próximos.
Como usar a API
A API é independente de protocolo e projetada para funcionar com padrões abertos, por exemplo, o padrão OpenID para emissão de credenciais verificáveis (OpenID4VCI).
Para iniciar o fluxo de emissão, o site do emissor precisa chamar
navigator.credentials.create() e transmitir as solicitações de emissão em um objeto
digital, por exemplo:
// 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.');
}
Faça um teste
Antes de testar a API Digital Credentials no navegador e no dispositivo Android:
- Atualize para o Chrome 143 ou mais recente no computador e tenha o Google Play Services 24.0 ou mais recente no seu dispositivo Android.
- Ative a flag em
chrome://flags/#web-identity-digital-credentials-creationno seu navegador. - Instale um app de carteira compatível no seu dispositivo Android, por exemplo, a CMWallet de demonstração.
Para testar o fluxo entre dispositivos para emitir credenciais digitais:
- Acesse https://digital-credentials.dev/dmv no computador.
- Pressione o botão Adicionar para iniciar o fluxo de emissão.
- Leia o QR code com o dispositivo Android e siga as instruções.
Depois de seguir essas etapas, você terá uma nova credencial emitida para a carteira no dispositivo Android.
Para ativar esse recurso no seu site para os usuários, participe do teste de origem da API Digital Credentials para emissão. Para mais informações, confira o artigo Começar a usar os testes de origem.
Envie feedback
Sua opinião é essencial para continuarmos desenvolvendo a plataforma. Informe bugs ou solicitações de recursos no rastreador de bugs do Chromium.