分享方式:


規則和顯示定義參考

規則和顯示定義可用來定義認證。 您可以在如何自訂認證 深入瞭解。

rulesModel 類型

屬性 類型​ 描述
attestations idTokenAttestation 和/或 idTokenHintAttestation 和/ 或 verifiablePresentationAttestation 和/或 selfIssuedAttestation 定義用來收集宣告以在可驗證認證中發出的證明流程。
validityInterval 數值 代表認證以秒為單位的存續期
vc vcType 此合約的可驗證認證類型

JSON 中的證明類型範例。 請注意, selfIssued 是單一實例,而其他實例則是集合。 如需如何使用證明類型的範例,請參閱 操作指南中的範例 JSON 規則定義

"attestations": {
  "idTokens": [],
  "idTokenHints": [],
  "presentations": [],
  "selfIssued": {}
}

idTokenAttestation 類型

當您從 Authenticator 內登入使用者時,可以使用 OpenID 連線相容提供者傳回的識別碼權杖作為輸入。

屬性 類型​ 描述
mapping claimMapping (選擇性) 規則,將輸入宣告對應至可驗證認證中的輸出宣告
configuration string (url) 識別提供者設定檔的位置
clientId string 取得識別碼權杖時要使用的用戶端識別碼
redirectUri string 重新導向 URI 以在取得識別碼權杖時使用;必須是 vcclient://openid/
scope string 取得識別碼權杖時要使用的範圍空格分隔清單
required 布林值 (預設值 false) 指出是否需要此證明
trustedIssuers 選擇性字串 (array) 允許發行此合約可驗證認證的 DID 清單。 這個屬性僅適用于特定案例, id_token_hint 其中 可以來自另一個簽發者

idTokenHintAttestation 類型

此流程會使用識別碼權杖提示,此提示是透過要求 REST API 提供作為承載。 對應與識別碼權杖證明相同。

屬性 類型​ 描述
mapping claimMapping (選擇性) 規則,將輸入宣告對應至可驗證認證中的輸出宣告
required 布林值 (預設值 false) 指出是否需要此證明。 如果 createPresentationRequest 承載中未設定必要的宣告,要求服務 API 將會失敗呼叫。
trustedIssuers 選擇性字串 (array) 允許發行此合約可驗證認證的 DID 清單。 這個屬性僅適用于特定案例, id_token_hint 其中 可以來自另一個簽發者

verifiablePresentationAttestation 類型

當您想要讓使用者將另一個可驗證的認證呈現為新發行可驗證認證的輸入時。 錢包可讓使用者在發行期間選取可驗證的認證。

屬性 類型​ 描述
mapping claimMapping (選擇性) 規則,將輸入宣告對應至可驗證認證中的輸出宣告
credentialType string (選擇性) 輸入的必要認證類型
required 布林值 (預設值 false) 指出是否需要此證明
trustedIssuers string (array) 允許發行此合約可驗證認證的 DID 清單。 服務會預設為您的簽發者,因此不需要自行提供此值。

selfIssuedAttestation 類型

當您想要使用者自行輸入資訊時。 此類型也稱為自我證明輸入。

屬性 類型​ 描述
mapping claimMapping (選擇性) 規則,將輸入宣告對應至可驗證認證中的輸出宣告
required 布林值 (預設值 false) 指出是否需要此證明

claimMapping 類型

屬性 類型​ 描述
inputClaim string 要從輸入使用的宣告名稱
outputClaim string 可驗證認證中的宣告名稱
indexed 布林值 (預設值 false) 指出這個宣告的值是否用於搜尋;只有一個 clientMapping 物件可針對指定的合約編制索引
required 布林值 (預設值 false) 指出是否需要此對應
type string (選擇性) 宣告類型

vcType 類型

屬性 類型​ 描述
type string (array) 此合約可驗證的認證類型清單可能會發出

範例規則定義:

{
  "attestations": {
    "idTokenHints": [
      {
        "mapping": [
          {
            "outputClaim": "givenName",
            "required": false,
            "inputClaim": "given_name",
            "indexed": false
          },
          {
            "outputClaim": "familyName",
            "required": false,
            "inputClaim": "family_name",
            "indexed": false
          }
        ],
        "required": false
      }
    ]
  },
  "validityInterval": 2592000,
  "vc": {
    "type": [
      "VerifiedCredentialExpert"
    ]
  }
}

displayModel 類型

屬性 類型​ 描述
locale string 此顯示的地區設定
credential displayCredential 可驗證認證的顯示內容
consent displayConsent 發出可驗證認證時的補充資料
claims displayClaims 陣列 可驗證認證中包含的宣告標籤

displayCredential 類型

屬性 類型​ 描述
title string 認證的標題
issuedBy string 認證簽發者的名稱
backgroundColor 數位 (十六進位) 以十六進位格式顯示認證的背景色彩,例如,#FFAABB
textColor 數位 (十六進位) 以十六進位格式的認證文字色彩,例如,#FFAABB
description string 與每個認證一起顯示的補充文字
logo displayCredentialLogo 要用於認證的標誌

displayCredentialLogo 類型

屬性 類型​ 描述
uri string (url) 標誌的 URL。
description string 標誌的描述

displayConsent 類型

屬性 類型​ 描述
title string 同意的標題
instructions string 顯示同意時要使用的補充文字

displayClaims 類型

屬性 類型​ 描述
label string 顯示中宣告的標籤
claim string 套用標籤之宣告的名稱。 若為 JWT-VC 格式,值必須具有 vc.credentialSubject. 前置詞。
type string 宣告的類型
description string (選擇性) 宣告的描述

範例顯示定義:

{
  "locale": "en-US",
  "card": {
    "backgroundColor": "#FFA500",
    "description": "This is your Verifiable Credential",
    "issuedBy": "Contoso",
    "textColor": "#FFFF00",
    "title": "Verifiable Credential Expert",
    "logo": {
      "description": "Default VC logo",
      "uri": "https://didcustomerplayground.blob.core.windows.net/public/VerifiedCredentialExpert_icon.png"
    }
  },
  "consent": {
    "instructions": "Please click accept to add this credentials",
    "title": "Do you want to accept the verified credential expert dentity?"
  },
  "claims": [
    {
      "claim": "vc.credentialSubject.givenName",
      "label": "Name",
      "type": "String"
    },
    {
      "claim": "vc.credentialSubject.familyName",
      "label": "Surname",
      "type": "String"
    }
  ]
}

下一步