既存の検証可能な資格情報からの要求を提示して、検証可能な資格情報を発行する
プレゼンテーションの構成証明の種類を使用するルール定義で生成される発行フローでは、発行中にウォレットで別の検証可能な資格情報を提示するようにユーザーに求め、提示された資格情報から新しい資格情報の発行の要求値が取得されるようにします。 たとえば、自分の VerifiedEmployee 資格情報を提示して、訪問者パスの資格情報を取得できます。
プレゼンテーションの構成証明の種類を使用してカスタム資格情報を作成する
Azure portal で [資格情報の追加] を選ぶと、2 つのクイックスタートを起動するオプションが表示されます。 [カスタム資格情報] を選び、[次へ] を選びます。
[新しい資格情報の作成] ページで、表示とルールの定義用の JSON コードを入力します。 [資格情報名] ボックスで、資格情報に名前を付けます。 この名前は、ポータルでの資格情報の内部名にすぎません。 資格情報の種類の名前は、ルール定義の vc.type
プロパティ名で定義されます。 [作成] を選び、資格情報を作成します。
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 構成証明の定義には、プレゼンテーション名が含まれている必要があります。 マッピング セクションの 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"
]
}
}
プロパティ | タイプ | 説明 |
---|---|---|
credentialType |
string | 発行中に要求されている資格情報の種類。 上記の例では TrueIdentity です。 |
contracts |
string (配列) | 要求されている資格情報のマニフェスト URL の一覧。 上記の例では、マニフェスト URL は True Identity のマニフェストです。 |
trustedIssuers |
string (配列) | 要求されている資格情報に対して許可される発行者 DID の一覧。 上記の例では、DID は True Identity 発行者の DID です。 |
値
発行中の Authenticator エクスペリエンス
発行中に、Authenticator は、一致する資格情報を選択するようにユーザーに求めます。 ユーザーがウォレットに複数の一致する資格情報を持っている場合、ユーザーは、提示する資格情報を選択する必要があります。
カスタム資格情報を発行するようにサンプルを構成する
カスタム資格情報を発行および確認するサンプル コードを構成するには、次のものが必要です。
- テナントの発行者分散化識別子 (DID)
- 新しい資格情報の種類
- 資格情報のマニフェスト URL
カスタム資格情報のこの情報を見つける最も簡単な方法は、Azure portal で資格情報に移動することです。 [Issue credential] (資格情報の発行) を選びます。 その後、Request Service API の JSON ペイロードを含むテキスト ボックスにアクセスできます。 プレースホルダーの値を環境の情報に置き換えます。 発行者の DID は機関の値です。
次のステップ
「ルールと表示の定義リファレンス」を参照してください。