分享方式:


從現有的可驗認證呈現宣告,以發出可驗認證

使用呈現證明類型的規則定義會產生發行流程,您希望使用者在發行期間於電子錢包中呈現其他可驗認證,新認證的發行宣告值是從呈現的認證取得。 舉例來說,當您呈現 VerifiedEmployee 認證以取得訪客通行認證時。

使用呈現證明類型建立自訂認證

在 Azure 入口網站中,當您選取 [新增認證] 時,有選項可讓您啟動兩個快速入門。 選取 [自訂認證],然後選取 [下一步]

用於建立自訂認證的 [核發認證] 快速入門螢幕擷取畫面。

在 [建立新的認證] 頁面上,輸入用於顯示和規則定義的 JSON 程式碼。 在 [認證名稱] 方塊中,提供認證的名稱。 此名稱只是認證在入口網站中的內部名稱。 認證的類型名稱定義於規則定義的 vc.type 屬性名稱中。 若要建立認證,請選取 [建立]

[建立新的認證] 頁面的螢幕擷取畫面,其中顯示用於顯示和規則檔案的 JSON 範例。

範例 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.blob.core.windows.net/public/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.credentialSubjectoutputClaim 已定義所核發認證中的宣告名稱。

下列規則定義會要求使用者在發行期間呈現真實身分識別認證。 此認證來自公用示範應用程式

{
  "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 是授權單位值。

自訂認證核發快速入門的螢幕擷取畫面。

下一步

請參閱規則和顯示定義參考