规则和显示定义参考
规则和显示定义用于定义凭据。 可以在如何自定义凭据中阅读有关它的详细信息。
rulesModel 类型
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) |
指示是否需要此证明。 如果在 createPresentationRequest 有效负载中未设置所需的声明,请求服务 API 将导致调用失败。 |
trustedIssuers |
可选字符串(数组) |
允许颁发此协定的可验证凭据的 DID 列表。 此属性仅用于 id_token_hint 可能来自另一个颁发者的特定场景 |
verifiablePresentationAttestation 类型
希望用户提供另一个可验证凭据作为新颁发的可验证凭据的输入时。 电子钱包允许用户在颁发过程中选择可验证的凭据。
properties |
类型 |
说明 |
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 类型
displayCredential 类型
属性 |
类型 |
说明 |
title |
string |
凭据的标题 |
issuedBy |
string |
凭据颁发者的名称 |
backgroundColor |
数字(十六进制) |
十六进制格式凭据的背景色,例如 #FFAABB |
textColor |
数字(十六进制) |
十六进制格式凭据的文本颜色,例如 #FFAABB |
description |
string |
要随每张凭据一起显示的补充文本 |
logo |
displayCredentialLogo |
用于凭据的徽标 |
displayCredentialLogo 类型
属性 |
类型 |
说明 |
uri |
字符串 (url) |
徽标的 URL。 |
description |
string |
徽标的说明 |
注意
Microsoft 建议使用广受支持的图像格式(如 .PNG、.JPG 或 .BMP),以减少文件格式错误。
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.z13.web.core.windows.net/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"
}
]
}
后续步骤