简介
@bloomprotocol/attestations-common 是一个帮助开发者在 Bloom 信任协议上处理有效认证数据的 JavaScript 库,该库包含了 Bloom SDK 中常用的一些认证处理函数和相关数据结构,可以结合其他 Bloom SDK 一起使用。
本文将针对 @bloomprotocol/attestations-common 的使用方法进行一次详细的讲解,帮助开发者更好地使用 Bloom 协议进行开发。
安装
可以通过 npm 包管理器安装 @bloomprotocol/attestations-common:
npm install @bloomprotocol/attestations-common
用法
AttestationType
AttestationType 是指 Bloom 协议中的认证类型,在 @bloomprotocol/attestations-common 库中,我们可以通过下面的方式进行实例化一个 AttestationType 对象:
import { AttestationType } from '@bloomprotocol/attestations-common'; const emailAddressType = new AttestationType({ type: 'email', subTypes: ['email', 'pii'], unique?: true, });
AttestationType 对象构造函数接受一个对象参数,其中:
- type: 认证类型名称
- subTypes: 认证的子类型列表
- unique: 该认证是否要求唯一性
AttestationTypeDefinition
AttestationTypeDefinition 是指 Bloom 协议中认证类型的定义,我们可以通过如下方式实例化一个 AttestationTypeDefinition 对象:
-- -------------------- ---- ------- ------ - -------------------------- --------------- - ---- ------------------------------------- ----- ---------------- - --- ----------------- ----- -------- --------- --------- ------- -------- ----- --- ----- ---------------------- - --- --------------------------- ------------ ----------------- ----- - ----- ------- -- ---- --------------------------------------------------- ---
AttestationTypeDefinition 对象构造函数接受一个对象,其中:
- attestation: AttestationType 对象实例
- data: 包含了该认证类型的相关数据
- uri: 该认证类型的数据源地址
AttestationData
AttestationData 是指 Bloom 协议中对认证数据的处理,@bloomprotocol/attestations-common 库提供了以下 AttestationData 类型:
- AttestationDataEncoding
- AttestationDataFormat
- AttestationDataReference
- AttestationDataHash
- AttestationDataUri
下面是 AttestationDataEncoding 类型的示例代码:
import { AttestationDataEncoding } from '@bloomprotocol/attestations-common'; const data = { test: 'test' }; const encoding = new AttestationDataEncoding(data); const encodedData = encoding.encode();
AttestationDataEncoding 对象构造函数接受一个对象作为输入,返回一个新的 AttestationDataEncoding 对象,该对象包含 encode() 函数,用于对传入的数据进行编码。此外,我们还可以使用 decode() 函数来对编码后的数据进行解码。
Attestation
Attestation 对象是指 Bloom 协议中一次认证的有效记录,我们可以通过如下方式实例化一个 Attestation 对象:
-- -------------------- ---- ------- ------ - ------------ -------------------------- ----------------------- - ---- ------------------------------------- ----- ---------------- - --- ----------------- ----- -------- --------- --------- ------- -------- ----- --- ----- ---------------------- - --- --------------------------- ------------ ----------------- ----- - ----- ------- -- ---- --------------------------------------------------- --- ----- ----------- - --- ------------------------- ----- ------- --- ----- ----------- - --- ------------- ----- ------------ ----- ----------------- ------- --- ------------- --- --------------------- ---
Attestation 对象构造函数接受一个对象作为输入,其中:
- data: AttestationDataEncoding 对象实例
- type: AttestationType 对象实例
- issuer: 该认证记录的颁发者
- issuanceDate: 该认证记录的颁发时间
AttestationRequest
AttestationRequest 对象是指 Bloom 协议中的认证请求记录,我们可以通过如下方式实例化一个 AttestationRequest 对象:
-- -------------------- ---- ------- ------ - ------------------ - ---- ------------------------------------- ----- --------------------- - - - ----- -------- -------- -------- -- -- ----- ----------- - -------------------------------------- ----- ------------------ - --- -------------------- ------------ ---------------------- ---
AttestationRequest 对象构造函数接受一个对象,其中:
- attestationsRequested: 一个 AttestationType 对象列表,这些认证类型将会合并为一个 AttestationTypeDefinition 对象,由此产生一个认证请求
- callbackUrl: 认证请求成功后的回调地址
AttestedClaim
AttestedClaim 对象是指 Bloom 协议中一次认证无纠纷的有效声明,我们可以通过如下方式实例化一个 AttestedClaim 对象:
-- -------------------- ---- ------- ------ - -------------- --------- - ---- ------------------------------------- ----- ---------------- - --- ----------------- ----- -------- --------- --------- ------- -------- ----- --- ----- --------- - --- ----------- ----- -------- ------------- ------------------- --- ----- ---------- - - ------ ------------------- -- ----- ------------ - - - ----- --- ----- ----------------- ------- --- ------------- --- --------------------- -- -- ----- ------------- - --- --------------- ---------- ----------- ------------- ---
AttestedClaim 对象构造函数接受一个对象,其中:
- claimType: 一个 ClaimType 对象实例
- claimValue: 对于 Claims 的值
- attestations: 一个 Attestation 对象列表
结论
@bloomprotocol/attestations-common 是一个强大的 JS 库,它可以让开发者轻松地使用 Bloom 协议进行开发,处理有效认证数据,本文对该库进行了详细的说明,希望能够帮助开发者更好地使用该库,更好地使用 Bloom 协议进行开发。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/111003