藉由呈現現有可驗證憑證中的聲明來發出新的可驗證憑證。
使用規則定義的呈現證明類型會產生一個發行流程,您希望使用者在發行期間於電子錢包中呈現另一個可驗證的憑證,新憑證的發行宣告值是從該呈現的憑證中取得。 此流程類型的範例可能是當您呈現 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 |
字串 (陣列) | 憑證所需的 manifest URL 清單。 在先前的範例中,清單檔案的 URL 是 True Identity 的清單檔案。 |
trustedIssuers |
字串 (陣列) | 用於請求的憑證的允許簽發者分散式標識碼(DID)清單。 在先前的範例中,DID 是 True Identity 簽發者的 DID。 |
價值觀
發行期間的驗證器體驗
在發行期間,驗證器會提示使用者選取相符的認證。 如果使用者在電子錢包中有多個相符的認證,使用者必須選取要呈現的認證。
設定範例以核發您的自訂認證
若要設定範例程式碼以核發和驗證自訂認證,您需要:
- 承租者的簽發者分散式識別碼 (DID)
- 認證類型
- 憑證的清單 URL
若要為自訂認證尋找此資訊,最簡單的方式是在 Azure 入口網站中前往您的認證。 選取 [核發認證]。 然後,您可以存取具有請求服務 API 的 JSON 負載的文字方塊。 將佔位符的值替換為您的環境資訊。 簽發者的 DID 是授權單位值。
下一步
請參閱規則和顯示定義參考。