從現有的可驗認證呈現宣告,以發出可驗認證
使用呈現證明類型的規則定義會產生發行流程,您希望使用者在發行期間於電子錢包中呈現其他可驗認證,新認證的發行宣告值是從呈現的認證取得。 舉例來說,當您呈現 VerifiedEmployee 認證以取得訪客通行認證時。
使用呈現證明類型建立自訂認證
在 Azure 入口網站中,當您選取 [新增認證] 時,有選項可讓您啟動兩個快速入門。 選取 [自訂認證],然後選取 [下一步]。
在 [建立新的認證] 頁面上,輸入用於顯示和規則定義的 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 |
字串 | 發行期間所要求的認證類型。 上述範例中的 TrueIdentity 。 |
contracts |
字串 (陣列) | 所要求認證的資訊清單 URL 清單。 在上述範例中,資訊清單 URL 是 True Identity 的資訊清單 |
trustedIssuers |
字串 (陣列) | 所要求認證的允許簽發者 DID 清單。 在上述範例中,DID 是 True Identity 簽發者的 DID。 |
值
發行期間的驗證器體驗
在發行期間,驗證器會提示使用者選取相符的認證。 如果使用者在電子錢包中有多個相符的認證,使用者必須選取要呈現的認證。
設定範例以核發您的自訂認證
若要設定範例程式碼以核發和驗證自訂認證,您需要:
- 租用戶的簽發者分散式識別碼 (DID)
- 認證類型
- 認證的資訊清單 URL
若要為自訂認證尋找此資訊,最簡單的方式是在 Azure 入口網站中前往您的認證。 選取 [核發認證]。 然後,您可以存取具有要求服務 API JSON 承載的文字方塊。 將預留位置值取代為您的環境資訊。 簽發者的 DID 是授權單位值。
下一步
請參閱規則和顯示定義參考。