Interfejs Digital Credentials API do wydawania certyfikatów

Natalia Markoborodova
Natalia Markoborodova

Data publikacji: 26 listopada 2025 r.

Możesz dołączyć do testowania origin interfejsu Digital Credentials API od wersji Chrome 143. Ten nowy interfejs API ułatwia witrynom udostępnianie cyfrowych dokumentów tożsamości w ulubionym portfelu użytkownika.

Informacje ogólne

W trójstronnym ekosystemie cyfrowej tożsamości, w którym występują wydawcy, weryfikatorzy (strony ufające) i posiadacze (portfele), użytkownik często udostępnia cyfrowy dokument tożsamości w portfelu za pomocą udostępniania push. Podczas tego procesu użytkownik rozpoczyna proces wydawania dokumentu tożsamości bezpośrednio w witrynie lub aplikacji wydawcy. Na przykład użytkownik odwiedzający witrynę wydziału komunikacji (wydawcy) może rozpocząć proces zapisywania cyfrowego prawa jazdy w wybranej aplikacji portfela (posiadacza) na swoim urządzeniu.

Aby ten model działał, wydawca musi mieć bezpieczny i niezawodny sposób łączenia się z aplikacją portfela w celu wydania dokumentu tożsamości. Ten proces był rozproszony, ponieważ każdy wydawca musiał tworzyć własne połączenia z każdą aplikacją portfela, z którą współpracował, zwykle korzystając z niestandardowych schematów URI. Takie podejście powodowało znaczne trudności we wdrożeniu, zmuszając wydawców do tworzenia i utrzymywania obsługi rozproszonego ekosystemu różnych integracji portfeli.

Wydawanie danych logowania w interfejsie Digital Credentials API

Aby usprawnić ten proces, Chrome rozszerza obsługę interfejsu W3C Digital Credentials API, dodając do niedawno udostępnionych funkcji prezentacji. Metoda navigator.credentials.create() umożliwia witrynom wydawców bezpieczne wywoływanie aplikacji portfela w celu wydawania danych logowania. Gdy witryna wydawcy wywołuje navigator.credentials.create()digital, przeglądarka przekazuje proces do platformy, która od Chrome 143 jest ograniczona do Androida. Platforma wyświetli listę zgodnych portfeli zainstalowanych na urządzeniu. Użytkownik może następnie wybrać portfel i wyrazić zgodę na dodanie dokumentu.

Interfejs Digital Credentials API działa zarówno na tym samym urządzeniu (mobilnym), jak i na różnych urządzeniach (inicjowanych na komputerze). W przypadku korzystania z różnych urządzeń przeglądarka na komputerze wyświetla kod QR. Gdy użytkownik zeskanuje kod na urządzeniu mobilnym, zostanie zainicjowany przepływ za pośrednictwem platformy, jeśli oba urządzenia znajdują się blisko siebie.

Jak korzystać z interfejsu API

Interfejs API jest niezależny od protokołu i został zaprojektowany do współpracy z otwartymi standardami, np. ze standardem OpenID for Verifiable Credential Issuance (OpenID4VCI).

Aby rozpocząć proces wydawania, witryna wydawcy musi wywołać funkcję navigator.credentials.create() i przekazać żądania wydania w obiekcie digital, na przykład:

// 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.');
}

Wypróbuj

Zanim przetestujesz interfejs Digital Credentials API w przeglądarce i na urządzeniu z Androidem:

  • Zaktualizuj Chrome do wersji 143 lub nowszej na komputerze i zainstaluj usługi Google Play w wersji 24.0 lub nowszej na urządzeniu z Androidem.
  • Włącz flagę w przeglądarce na stronie chrome://flags/#web-identity-digital-credentials-creation.
  • Zainstaluj na urządzeniu z Androidem obsługiwaną aplikację portfela, np. demonstracyjną aplikację CMWallet.

Aby przetestować proces wydawania cyfrowych dokumentów tożsamości na różnych urządzeniach:

  1. Na komputerze otwórz stronę https://digital-credentials.dev/dmv.
  2. Naciśnij przycisk Dodaj, aby rozpocząć proces wydawania.
  3. Zeskanuj kod QR urządzeniem z Androidem i postępuj zgodnie z instrukcjami.

Po wykonaniu tych czynności w portfelu na urządzeniu z Androidem pojawi się nowy dokument.

Aby włączyć tę funkcję w swojej witrynie dla użytkowników, weź udział w programie testowym Digital Credentials API dotyczącym pochodzenia wydawania. Więcej informacji znajdziesz w artykule Pierwsze kroki z testami origin.

Prześlij opinię

Twoja opinia jest dla nas bardzo ważna, ponieważ stale rozwijamy tę platformę. Wszelkie błędy lub propozycje nowych funkcji zgłaszaj w narzędziu do śledzenia błędów Chromium.