Wystawianie poświadczeń weryfikowalnych przez przedstawienie oświadczeń z istniejącego weryfikowalnego poświadczenia

Definicja reguł, która używa typu zaświadczania prezentacji, tworzy przepływ wystawiania, w którym użytkownik chce przedstawić kolejne weryfikowalne poświadczenia w portfelu podczas wystawiania i gdzie wartości oświadczeń wystawiania nowego poświadczenia są pobierane z przedstawionego poświadczenia. Przykładem może być wyświetlenie poświadczeń VerifiedEmployee w celu uzyskania poświadczeń przekazywanych przez odwiedzających.

Tworzenie poświadczeń niestandardowych przy użyciu typu zaświadczania prezentacji

W witrynie Azure Portal po wybraniu pozycji Dodaj poświadczenia zostanie wyświetlona opcja uruchamiania dwóch przewodników Szybki start. Wybierz poświadczenia niestandardowe, a następnie wybierz przycisk Dalej.

Screenshot of the 'Issue credentials' quickstart for creating a custom credential.

Na stronie Tworzenie nowego poświadczenia wprowadź kod JSON dla wyświetlania i definicje reguł. W polu Nazwa poświadczenia nadaj poświadczeniu nazwę. Ta nazwa jest tylko nazwą wewnętrzną poświadczeń w portalu. Nazwa typu poświadczeń jest zdefiniowana w vc.type nazwie właściwości w definicji reguł. Aby utworzyć poświadczenia, wybierz pozycję Utwórz.

Screenshot of the 'Create a new credential' page, displaying JSON samples for the display and rules files.

Przykładowe definicje wyświetlania JSON

Definicja wyświetlania JSON jest prawie taka sama, niezależnie od typu zaświadczania. Należy dostosować etykiety tylko zgodnie z oświadczeniami, które mają weryfikowalne poświadczenia. Oczekiwany kod JSON dla definicji wyświetlania to wewnętrzna zawartość kolekcji wyświetla. Kod JSON jest kolekcją, więc jeśli chcesz obsługiwać wiele ustawień regionalnych, dodaj wiele wpisów z przecinkiem jako separatorem.

{
  "locale": "en-US",
  "card": {
    "backgroundColor": "#000000",
    "description": "Use your verified credential to prove to anyone that you know all about verifiable credentials.",
    "issuedBy": "Microsoft",
    "textColor": "#ffffff",
    "title": "Verified Credential Expert",
    "logo": {
      "description": "Verified Credential Expert Logo",
      "uri": "https://didcustomerplayground.blob.core.windows.net/public/VerifiedCredentialExpert_icon.png"
    }
  },
  "consent": {
    "instructions": "Present your True Identity card to issue your VC",
    "title": "Do you want to get your Verified Credential?"
  },
  "claims": [
    {
      "claim": "vc.credentialSubject.firstName",
      "label": "First name",
      "type": "String"
    },
    {
      "claim": "vc.credentialSubject.lastName",
      "label": "Last name",
      "type": "String"
    }
  ]
}

Przykładowe definicje reguł JSON

Definicja zaświadczania JSON powinna zawierać nazwę prezentacji . Element inputClaim w sekcji mapowania definiuje oświadczenia, które powinny być przechwytywane w poświadczeniach prezentowanych przez użytkownika. Muszą mieć prefiks $.vc.credentialSubject. OutputClaim zdefiniował nazwę oświadczeń w wystawianym poświadczeniu.

Poniższa definicja reguł poprosi użytkownika o przedstawienie poświadczeń true identity podczas wystawiania. To poświadczenie pochodzi z publicznej aplikacji demonstracyjnej.

{
  "attestations": {
    "presentations": [
      {
        "mapping": [
          {
            "outputClaim": "firstName",
            "required": true,
            "inputClaim": "$.vc.credentialSubject.firstName",
            "indexed": false
          },
          {
            "outputClaim": "lastName",
            "required": true,
            "inputClaim": "$.vc.credentialSubject.lastName",
            "indexed": false
          }
        ],
        "required": false,
        "credentialType": "TrueIdentity",
        "contracts": [
          "https://verifiedid.did.msidentity.com/v1.0/tenants/aaaabbbb-0000-cccc-1111-dddd2222eeee/verifiableCredentials/contracts/M2MzMmVkNDAtOGExMC00NjViLThiYTQtMGIxZTg2ODgyNjY4dHJ1ZSBpZGVudGl0eSBwcm9k/manifest"
        ]
      }
    ]
  },
  "validityInterval": 2592001,
  "vc": {
    "type": [
      "VerifiedCredentialExpert"
    ]
  }
}
Właściwość Type opis
credentialType string Typ poświadczeń jest żądany podczas wystawiania. TrueIdentity w powyższym przykładzie.
contracts ciąg (tablica) lista adresów URL manifestu żądanych poświadczeń. W powyższym przykładzie adres URL manifestu jest manifestem dla True Identity
trustedIssuers ciąg (tablica) lista dozwolonych identyfikatorów DID wystawcy dla żądanego poświadczenia. W powyższym przykładzie did to DID wystawcy True Identity.

Wartości

Środowisko wystawcy uwierzytelniającego podczas wystawiania

Podczas wystawiania aplikacja Authenticator monituje użytkownika o wybranie pasującego poświadczenia. Jeśli użytkownik ma wiele pasujących poświadczeń w portfelu, użytkownik musi wybrać, który z nich ma być prezentowany.

Screenshot of presentations claims input.

Konfigurowanie przykładów w celu wystawienia poświadczeń niestandardowych

Aby skonfigurować przykładowy kod do wystawiania i weryfikowania poświadczeń niestandardowych, potrzebne są następujące elementy:

  • Identyfikator zdecentralizowany wystawcy dzierżawy (DID)
  • Typ poświadczeń
  • Adres URL manifestu do poświadczeń

Najprostszym sposobem znalezienia tych informacji dla poświadczeń niestandardowych jest przejście do poświadczeń w witrynie Azure Portal. Wybierz pozycję Poświadczenie problemu. Następnie masz dostęp do pola tekstowego z ładunkiem JSON dla interfejsu API usługi żądań. Zastąp wartości symboli zastępczych informacjami o środowisku. Identyfikator DID wystawcy jest wartością urzędu.

Screenshot of the quickstart custom credential issue.

Następne kroki

Zobacz dokumentację reguł i definicji wyświetlania.