1 个不稳定版本

0.1.0-alpha.62024年8月8日

#903身份验证

Download history 104/week @ 2024-08-03 18/week @ 2024-08-10

122 每月下载量
6 个Crates中(4个直接)使用

MIT/Apache

25KB
273 代码行

表现交换

此crate是支持Vercre suite的crate的高阶crate。它不打算直接使用。请参阅

为支持DIF 表现交换2.0.0 而创建,此crate包含构建块,用于表达身份证明要求(表现定义)以及根据这些要求提交的证明或声明(表现提交)。

由于规范仅要求声明可序列化为JSON,因此此crate提供了一个兼容 serdeClaim trait,可用于实现各种声明格式。这可能包括JSON Web Tokens (JWTs)、可验证凭证 (VCs)、JWT-VCs 等。

use dif_exch::Claim;

impl Claims for VerifiableCredential {
    fn to_json(&self) -> anyhow::Result<serde_json::Value> {
        serde_json::to_value(self).map_err(Into::into)
    }
}

表现定义

表现定义是表达验证者需要哪些证明的对象。这些有助于验证者决定如何或是否与持有者互动。表现定义由输入组成,描述了所需证明的形式和细节,以及可选的选择规则集合,允许持有者在许多不同类型的证明可能满足输入要求的情况下具有灵活性。

表现交换规范将验证者可以使用以表达证明要求的表现定义数据格式和持有者可以使用以描述根据其提交的证明数据格式进行编码。

表现提交

表现提交是包含在目标声明谈判格式中的对象,这些格式根据验证者在表现定义中指定的要求统一呈现证明给验证者。请参阅表现提交。

依赖项

~5–7MB
~129K SLoC