Поделиться через


Выдача проверяемых удостоверений путем представления утверждений из существующего проверяемого удостоверения

Определение правил, в котором используется тип аттестации презентаций, создает поток выдачи, где пользователь может представить другое проверяемое удостоверение в кошельке во время выдачи и откуда из представленных учетных данных взяты значения утверждений для выдачи новых учетных данных. Примером этого может быть представление удостоверения VerifiedEmployee для получения учетных данных для передачи посетителями.

Создание пользовательских учетных данных с типом аттестации презентаций

После нажатия кнопки Добавить учетные данные на портале Azure вы получите возможность открыть два кратких руководства. Выберите пользовательские учетные данные и щелкните Далее.

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

На странице Создать новые учетные данные введите код JSON для отображения и определения правил. В поле Имя учетных данных присвойте имя учетным данным. Это просто внутреннее имя для учетных данных на портале. Имя типа учетных данных определяется в имени свойства vc.type в определении правил. Выберите команду Создать, чтобы создать учетные данные.

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

Примеры определений отображения JSON

Определения отображения JSON почти неизменны для любого типа аттестации. Вам остается лишь изменить метки в соответствии с тем, какие утверждения есть в вашем проверяемом удостоверении. Ожидаемый файл JSON для определений отображения — это внутреннее содержимое коллекции дисплеев. JSON — это коллекция, поэтому если требуется поддержка нескольких языковых стандартов, добавьте несколько записей, используя запятую в качестве разделителя.

{
  "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.z13.web.core.windows.net/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"
    }
  ]
}

Примеры определений правил JSON

Определение аттестации JSON должно содержать имя presentations. inputClaim в разделе сопоставления определяет, какие утверждения должны быть записаны в учетных данных, представленных пользователем. Они должны иметь префикс $.vc.credentialSubject. outputClaim определяет имя утверждений в выдаваемых учетных данных.

Указанное ниже определение правил запрашивает у пользователя представление учетных данных True Identity во время выдачи. Эти учетные данные поступают из общедоступной демонстрационной версии приложения.

{
  "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"
    ]
  }
}
Свойство Type Описание:
credentialType строка тип учетных данных, запрашиваемый во время выдачи. TrueIdentity в приведенном выше примере.
contracts строка (массив) список URL-адресов манифеста запрашиваемых учетных данных. В указанном примере URL-адрес манифеста является манифестом для True Identity.
trustedIssuers строка (массив) список разрешенных децентрализованных идентификаторов издателя для запрашиваемых учетных данных. В указанном примере децентрализованный идентификатор принадлежит издателю True Identity.

Values

Взаимодействие с Authenticator во время выдачи

Во время выдачи Authenticator предложит пользователю выбрать соответствующие учетные данные. Если у пользователя несколько совпадающих удостоверений в кошельке, пользователь должен выбрать, какое из них следует представить.

Screenshot of presentations claims input.

Настройка примеров для выдачи пользовательских учетных данных

Чтобы настроить пример кода для выдачи и проверки с помощью пользовательских учетных данных, вам потребуется следующее:

  • Децентрализованный идентификатор издателя (DID) для вашего арендатора
  • Тип учетных данных
  • URL-адрес манифеста для учетных данных

Самый простой способ найти эти сведения для пользовательских учетных данных — перейти к нужным учетным данным на портале Azure. Выберите Выдать учетные данные. После этого вы получите доступ к текстовому полю с полезными данными JSON для API службы запросов. Замените значения заполнителей на данные для вашей среды. DID издателя — это значение центра.

Screenshot of the quickstart custom credential issue.

Следующие шаги

См. Справку по определению отображения и правил.