规则和显示定义参考

注意

Microsoft Entra 验证 ID 现在是 Microsoft Entra 验证 ID 和 Microsoft Entra 产品系列的一部分。 详细了解标识解决方案 Microsoft Entra 系列,并开始使用统一 Microsoft Entra 管理中心

规则和显示定义用于定义凭据。 可以在如何自定义凭据中阅读有关它的详细信息。

rulesModel 类型

属性 类型 说明
attestations idTokenAttestation 和/或 idTokenHintAttestation 和/或 verifiablePresentationAttestation 和/或 selfIssuedAttestation 定义用于收集发布在可验证凭据中的声明的证明流。
validityInterval 数字 表示凭据的有效期(以秒为单位)
vc vcType 此协定的可验证凭据类型

JSON 中的证明类型示例。 请注意,selfIssued 是单个实例,而其他实例是集合。 有关如何使用证明类型的示例,请参阅操作指南中的示例 JSON 规则定义

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

idTokenAttestation 类型

从 Authenticator 内让用户登录时,可以使用与 OpenID Connect 兼容的提供程序返回的 ID 令牌作为输入。

属性 类型 说明
mapping claimMapping(可选) 将输入声明映射到可验证凭据中的输出声明的规则
configuration 字符串 (url) 标识提供者的配置文档位置
clientId string 获取 ID 令牌时要使用的客户端 ID
redirectUri string 要在获取 ID 令牌时使用的重定向 URI;必须为 vcclient://openid/
scope string 获取 ID 令牌时要使用的范围的空格分隔列表
required 布尔值(默认为 false) 指示是否需要此证明
trustedIssuers 可选字符串(数组) 允许颁发此协定的可验证凭据的 DID 列表。 此属性仅用于 id_token_hint 可能来自另一个颁发者的特定场景

idTokenHintAttestation 类型

此流使用 ID 令牌提示,它通过请求 REST API 作为有效负载提供。 映射与 ID 令牌证明相同。

属性 类型 说明
mapping claimMapping(可选) 将输入声明映射到可验证凭据中的输出声明的规则
required 布尔值(默认为 false) 指示是否需要此证明
trustedIssuers 可选字符串(数组) 允许颁发此协定的可验证凭据的 DID 列表。 此属性仅用于 id_token_hint 可能来自另一个颁发者的特定场景

verifiablePresentationAttestation 类型

希望用户提供另一个可验证凭据作为新颁发的可验证凭据的输入时。 电子钱包允许用户在颁发过程中选择可验证的凭据。

属性 类型 说明
mapping claimMapping(可选) 将输入声明映射到可验证凭据中的输出声明的规则
credentialType 字符串(可选) 所需的输入凭据类型
required 布尔值(默认为 false) 指示是否需要此证明
trustedIssuers 字符串(数组) 允许颁发此协定的可验证凭据的 DID 列表。 该服务将默认由你的颁发者提供,因此无需自己提供此值。

selfIssuedAttestation 类型

当你希望用户自己输入信息时。 此类型也称为自证输入。

属性 类型 说明
mapping claimMapping(可选) 将输入声明映射到可验证凭据中的输出声明的规则
required 布尔值(默认为 false) 指示是否需要此证明

claimMapping 类型

属性 类型 说明
inputClaim string 输入中要使用的声明名称
outputClaim string 可验证凭据中声明的名称
indexed 布尔值(默认为 false) 指示此声明的值是否用于搜索;给定协定只能为一个 clientMapping 对象编制索引
required 布尔值(默认为 false) 指示是否需要此映射
type 字符串(可选) 声明类型

vcType 类型

属性 类型 说明
type 字符串(数组) 此协定可以颁发的可验证凭据类型的列表

示例规则定义:

{
  "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 字符串 (url) 徽标的 URL。
description string 徽标的说明

displayConsent 类型

属性 类型 说明
title string 同意的标题
instructions string 显示同意时要使用的补充文本

displayClaims 类型

属性 类型 说明
label string 显示中声明的标签
claim string 标签应用到的声明的名称。 如果使用的 JWT-VC 格式,值需要具有 vc.credentialSubject. 前缀。
type string 声明的类型
description 字符串(可选) 声明的说明

示例显示定义:

{
  "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"
    }
  ]
}

后续步骤