확인 가능한 기존 자격 증명의 클레임을 제공하여 확인 가능한 자격 증명 발급

제시 증명 형식을 사용하는 규칙 정의는 발급 중에 사용자가 확인 가능한 다른 자격 증명을 지갑에 표시하고 새 자격 증명의 발급에 대한 클레임 값을 표시된 자격 증명에서 가져오는 발급 흐름을 생성합니다. 방문자 통과 자격 증명을 얻기 위해 VerifiedEmployee 자격 증명을 제시하는 경우를 예로 들 수 있습니다.

제시 증명 형식으로 사용자 지정 자격 증명 만들기

Azure Portal에서 자격 증명 추가를 선택하면 두 개의 빠른 시작을 실행할 수 있는 옵션이 표시됩니다. 사용자 지정 자격 증명을 선택한 다음, 다음을 선택합니다.

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.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"
    }
  ]
}

샘플 JSON 규칙 정의

JSON 증명 정의에는 표시 이름이 포함되어야 합니다. 매핑 섹션의 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/3c32ed40-8a10-465b-8ba4-0b1e86882668/verifiableCredentials/contracts/M2MzMmVkNDAtOGExMC00NjViLThiYTQtMGIxZTg2ODgyNjY4dHJ1ZSBpZGVudGl0eSBwcm9k/manifest"
        ]
      }
    ]
  },
  "validityInterval": 2592001,
  "vc": {
    "type": [
      "VerifiedCredentialExpert"
    ]
  }
}
속성 Type Description
credentialType string 발급 중에 요청되는 자격 증명 형식입니다. 위의 예제에서는 TrueIdentity입니다.
contracts 문자열(배열) 요청되는 자격 증명의 매니페스트 URL 목록입니다. 위의 예제에서 매니페스트 URL은 True Identity에 대한 매니페스트입니다.
trustedIssuers 문자열(배열) 요청되는 자격 증명에 대해 허용되는 발급자 DID 목록입니다. 위의 예제에서 DID는 True Identity 발급자의 DID입니다.

발급 중 Authenticator 환경

발급 중에 Authenticator는 사용자에게 일치하는 자격 증명을 선택하라는 메시지를 표시합니다. 사용자의 지갑에 일치하는 자격 증명이 여러 개 있는 경우 사용자는 제시할 자격 증명을 선택해야 합니다.

Screenshot of presentations claims input.

사용자 지정 자격 증명을 발급하는 샘플 구성

사용자 지정 자격 증명을 발급하고 확인하도록 샘플 코드를 구성하려면 다음이 필요합니다.

  • 테넌트의 발급자 DID(탈중앙화 식별자)
  • 자격 증명 형식
  • 자격 증명에 대한 매니페스트 URL

사용자 지정 자격 증명에 대한 이 정보를 찾는 가장 쉬운 방법은 Azure Portal에서 자격 증명으로 이동하는 것입니다. 자격 증명 발급을 선택합니다. 그런 다음 Request Service API에 대한 JSON 페이로드가 있는 텍스트 상자에 액세스할 수 있습니다. 자리 표시자 값을 해당 환경의 정보로 바꿉니다. 발급자의 DID는 권한 값입니다.

Screenshot of the quickstart custom credential issue.

다음 단계

규칙 및 표시 정의 참조를 확인하세요.