다음을 통해 공유


여러 증명을 사용하여 확인 가능한 자격 증명 만들기

여러 증명 형식을 사용하는 규칙 정의는 클레임이 둘 이상의 원본에서 오는 발급 흐름을 생성합니다. 예를 들어 기존 자격 증명을 제시하고 Microsoft Authenticator에서 클레임에 대한 값을 수동으로 입력해야 할 수도 있습니다.

이 방법 가이드에서는 발급 중에 사용자가 Authenticator에 입력해야 한다는 자체 증명 클레임을 추가하여 ID 토큰 힌트 증명 예제를 확장합니다. 확인된 ID에 대한 발급 요청에는 given_namefamily_name에 대한 클레임 값이 있는 ID 토큰 힌트와 사용자가 직접 입력한 클레임 displayName에 대해 자체 발급된 증명 유형이 포함됩니다.

여러 증명 유형을 사용하여 사용자 지정 자격 증명 만들기

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

사용자 지정 자격 증명을 만들기 위한 자격 증명 발급 빠른 시작의 스크린샷.

새 자격 증명 만들기 페이지에서 표시 및 규칙 정의에 대한 JSON 코드를 입력합니다. 자격 증명 이름 상자에서 형식 이름을 자격 증명에 지정합니다. 자격 증명을 만들려면 만들기를 선택합니다.

표시 및 규칙 파일에 대한 JSON 샘플을 표시하는 새 자격 증명 만들기 페이지의 스크린샷.

샘플 JSON 표시 정의

JSON 표시 정의에는 ID 토큰 힌트 표시 정의와 비교하여 displayName이라는 하나의 추가 클레임이 있습니다.

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

샘플 JSON 규칙 정의

JSON 규칙 정의에는 Authenticator가 서로 다른 두 소스에서 클레임 값을 얻도록 지시하는 두 개의 서로 다른 증명이 포함되어 있습니다. 요청 서비스 API에 대한 발급 요청은 idTokenHints 증명을 충족하는 클레임 given_namefamily_name 값을 제공합니다. 발급 중에 Authenticator에서 displayName에 대한 클레임 값을 입력하라는 요청이 사용자에게 표시됩니다.

{
  "attestations": {
    "idTokenHints": [
        {
        "mapping": [
            {
            "outputClaim": "firstName",
            "required": true,
            "inputClaim": "$.given_name",
            "indexed": false
            },
            {
            "outputClaim": "lastName",
            "required": true,
            "inputClaim": "$.family_name",
            "indexed": false
            }
        ],
        "required": false
        }
    ],
    "selfIssued": {
      "mapping": [
        {
          "outputClaim": "displayName",
          "required": true,
          "inputClaim": "displayName",
          "indexed": false
        }
      ],
      "required": false
    }
  },
  "validityInterval": 2592000,
  "vc": {
    "type": [
      "VerifiedCredentialExpert"
    ]
  }
}

발급 중 클레임 입력

발급 중에 Authenticator가 사용자에게 지정된 클레임의 값을 입력하라는 메시지를 표시합니다. 사용자 입력의 유효성은 검사되지 않습니다.

자체 발급된 클레임 입력의 스크린샷.

발급된 자격 증명의 클레임

발급된 자격 증명에는 총 세 개의 클레임이 있습니다. 여기서 FirstLast nameID 토큰 힌트 증명에서 왔으며 Name자체 발급 증명에서 나왔습니다.

발급된 자격 증명의 클레임 스크린샷.

사용자 지정 자격 증명 발급 및 확인을 위한 샘플 구성

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

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

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

빠른 시작 사용자 지정 자격 증명 발급에 대한 스크린샷.

다음 단계

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