複数の構成証明を使って検証可能な資格情報を作成する

複数の構成証明の種類を使うルール定義では、要求が複数のソースから取得される発行フローが作成されます。 たとえば、既存の資格情報を提示し、Microsoft Authenticator で要求の値を手動で入力する必要がある場合があります。

この攻略ガイドでは、発行時にユーザーが Authenticator に入力する必要がある自己証明の要求を追加することで、ID トークン ヒントの構成証明の例を拡張します。 検証済み ID への発行要求には、given_namefamily_name の要求値を持つ ID トークン ヒントと、ユーザーが自分で入力する要求 displayName の自己発行の構成証明の種類が含まれます。

複数の構成証明の種類を使ってカスタム資格情報を作成する

Azure portal で [資格情報の追加] を選ぶと、2 つのクイックスタートを起動するオプションが表示されます。 [カスタム資格情報] を選び、[次へ] を選びます。

カスタム資格情報を作成するための [資格情報の発行] クイックスタートのスクリーンショット。

[新しい資格情報の作成] ページで、表示とルールの定義用の JSON コードを入力します。 [資格情報名] ボックスで、資格情報に種類の名前を付けます。 [作成] を選び、資格情報を作成します。

表示とルールのファイル用の JSON サンプルが表示されている、[新しい資格情報の作成] ページのスクリーンショット。

JSON 表示定義のサンプル

JSON 表示定義には、ID トークン ヒントの表示定義と比較して、displayName という名前の追加の要求が 1 つあります。

{
    "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 ルール定義には、2 つの異なるソースから要求値を取得するよう Authenticator に指示する、2 つの異なる構成証明が含まれています。 要求サービス API への発行要求は idTokenHints 構成証明を満たすために、要求 given_namefamily_name の値を提供します。 発行の際、ユーザーは displayName の要求値を Authenticator に入力するよう要求されます。

{
  "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 から、指定した要求の値を入力するように求められます。 ユーザー入力は検証されません。

selfIssued の要求入力のスクリーンショット。

発行された資格情報の要求

発行された資格情報には合計 3 つの要求が含まれます。ここで、FirstLast nameID トークン ヒント構成証明から取得され、Name自己発行の構成証明から取得されます。

発行された資格情報の要求のスクリーンショット。

カスタム資格情報を発行して確認するようにサンプルを構成する

カスタム資格情報を発行および確認するサンプル コードを構成するには、次のものが必要です。

  • テナントの発行者分散化識別子 (DID)
  • 新しい資格情報の種類
  • 資格情報のマニフェスト URL

カスタム資格情報のこの情報を見つける最も簡単な方法は、Azure portal で資格情報に移動することです。 [Issue credential] (資格情報の発行) を選びます。 その後、Request Service API の JSON ペイロードを含むテキスト ボックスにアクセスできます。 プレースホルダーの値を環境の情報に置き換えます。 発行者の DID は機関の値です。

カスタム資格情報を発行するためのクイックスタートのスクリーンショット。

次のステップ

ルールと表示の定義リファレンス」を参照してください。