@dfinity/verifiable-credentials

中文文档
1.3.0发布于 2026/03/27Apache-2.0TypeScriptESM + CJS构建来源已验证近 30 天下载 5870

库与身份提供者互动,以获得证书演示.

中文使用文档
文档目录5 节
  1. 安装
  2. 依赖方:申请全权证书
  3. 内容提要
  4. 使用量
  5. 平分仪

Javascript SDK 用于验证证书

目前,这个库只包含一个功能,可以与身份提供者互动,为用户获取证书演示文稿.

请求证书的流程是通过浏览器实现的.

安装

安装库

npm install @dfinity/verifiable-credentials

捆绑需要同伴的依赖关系, 请确定您的项目中也提供后续资源 .

npm install @dfinity/principal

每个模块导入 :

// import * from '@dfinity/verifiable-credentials'; // Error: use sub-imports, to ensure small app size
import { requestVerifiablePresentation } from "@dfinity/verifiable-credentials/request-verifiable-presentation";

依赖方:申请全权证书

使用函数 requestVerifiablePresentation 请签发人出示全权证书.

内容提要

该职能履行以下步骤:

  • 使用身份提供者打开新窗口或标签 .
  • 等待身份提供者的窗口留言.
  • 通过窗口后留言向身份提供者发送请求 .
  • 等待身份提供者的回应.
  • 打电话 onSuccess 流量成功时调用 。 不一定收到证书.
  • 打电话 onError 当流量出现技术错误或用户关闭窗口时调用.

更多信息在 核证证书的因特网身份规格。 。 。 .

使用量

要启动流量,请使用预期参数调用函数:

requestVerifiablePresentation({
  onSuccess: async (verifiablePresentation: VerifiablePresentationResponse) => {
    // Called when the flow finishes successfully.
  },
  onError() {
    // Called when there is a technical error.
  },
  issuerData: {
    origin: "<url of the origin>",
    canisterId: "<canister id>",
  },
  credentialData: {
    credentialSpec: {
      credentialType: '<credential type as expected by issuer>',
      arguments: {
        // Arguments to verify with the credential
      },
    },
    credentialSubject: "<user's principal>",
  },
  identityProvider: "<url identity provider>",
  derivationOrigin: "<[optional] origin for delegated identity>",
  windowOpenerFeatures: "<[optional] window opener config string>",
});

平分仪

调用函数时, 参数中预期属性列表 :

  • onSuccess: 当流结束时将调用函数 。 不一定与证书。 如果用户没有证书,也叫这个.
  • onError: 当流量因技术错误而故障时将调用函数 。 另外当用户中断流量时.
  • issuerData: 带有 origin 财务报告和审定财务报表 canisterId 发行人.
  • credentialData: 带有子项目和所要求的证书的对象.
  • identityProvider:身份提供者的URL. 实例: new URL("https://identity.ic0.app/")。 。 。 .
  • derivationOrigin: 说明主要衍生来源。 和登入时使用的一样值. 更多信息。 。 。 .
  • windowOpenerFeatures 流量会打开一个新的窗口或标签 。 在此通过一个配置字符串来自定义它 .

版本与发布记录

@dfinity/verifiable-credentials 共发布 26 个版本,首次发布于 2024/05/03;过去 12 个月发布了 2 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.3.0latest2026/03/277 个月前
1.2.0-next-2026-03-05next2026/03/058 个月前
1.2.02025/11/061 年前
1.2.0-next-2025-11-052025/11/051 年前
1.1.0-next-2025-11-052025/11/051 年前
1.1.0-next-2025-09-262025/09/261.1 年前

关于 @dfinity/verifiable-credentials 的常见问题

@dfinity/verifiable-credentials 是什么?

库与身份提供者互动,以获得证书演示.

如何安装 @dfinity/verifiable-credentials?

在项目目录运行 npm install @dfinity/verifiable-credentials,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@icp-sdk/core(^*)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@dfinity/verifiable-credentials 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@dfinity/verifiable-credentials 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@dfinity/verifiable-credentials 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=v22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@dfinity/verifiable-credentials 可以商用吗?

@dfinity/verifiable-credentials 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@dfinity/verifiable-credentials 的下载量有多少?

根据 npm 官方下载统计,@dfinity/verifiable-credentials 在 2026/10/12 – 2026/11/10 这 30 天内被下载 5,870 次,日均约 196 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@dfinity/verifiable-credentials 还在维护吗?

最新版本 1.3.0 发布于 2026/03/27(7 个月前);至今共发布 26 个版本,其中过去 12 个月发布了 2 个;首次发布于 2024/05/03。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。