是否可以对 Indy 的证明请求中的同一属性有多个限制?

Is it possible to have multiple restrictions on the same attribute on proof request on Indy?

我们目前有这样的证明请求:

{
    "name": "pr",
    "version": "1.0",
    "nonce": "0994650939",
    "requested_attributes": {
        "attr0_referent": {
            "name": "first_name",
            "restrictions": [{
                "cred_def_id": "credDefIdShareGlobal"
            }]
        }
    },
    "requested_predicates": {},
    "non_revoked": {}
}

如您所见,现在我们在限制字段上只有一个限制。是否可以对同一属性设置多个限制(如下例所示)?

{
    "name": "pr",
    "version": "1.0",
    "nonce": "0994650939",
    "requested_attributes": {
        "attr0_referent": {
            "name": "first_name",
            "restrictions": [{
                "cred_def_id": "credDefIdShareGlobal1"
            }, {
                "cred_def_id": "credDefIdShareGlobal2" // <-- Is this possible?
            }]
        }
    },
    "requested_predicates": {},
    "non_revoked": {}
}

嗯,结束这个问题,是的。它的工作原理完全一样。

为了提供更多上下文,该属性可以存在于不同的模式或不同的凭据中,并且通过添加如图所示的限制,它们将作为 "OR" 处理,因此,将返回第一个匹配项.

如果您想查看测试示例,我建议您看这里:https://github.com/eduelias/indy-sdk/blob/MultipleReq/samples/nodejs/src/gettingStarted.js#L470