@criipto/auth-js

中文文档
5.0.1发布于 2026/09/25MITTypeScriptES Module构建来源已验证近 30 天下载 7万

在您的 Javascript 应用程序中接受 MitID、NemID、瑞典银行ID、挪威银行ID 和其他电子ID供应商的登录 @criipto/auth-js。 。 。 .

中文使用文档
文档目录13 节
  1. 指数
  2. 安装
  3. 使用量
  4. 认证
  5. 初始化/构建者
  6. 授权参数
  7. 授权响应
  8. 弹出
  9. 授权
  10. 自动方向
  11. 授权
  12. 匹配
  13. 注销

校对:soup

在您的 Javascript 应用程序中接受 MitID、NemID、瑞典银行ID、挪威银行ID 和其他电子ID供应商的登录 @criipto/auth-js。 。 。 .

指数

安装

npm install --save @criipto/auth-js

使用量

import CriiptoAuth from "@criipto/auth-js";
import "@criipto/auth-js/index.css";

var criiptoAuth = new CriiptoAuth({
  domain: "{YOUR_CRIIPTO_DOMAIN}",
  clientID: "{YOUR_CRIIPTO_APPLICATION_ID}",
  store: sessionStorage,
});

criiptoAuth.popup.authorize({
  width: 300,
  height: 400,
  redirectUri: "http://localhost:8000/example/popup-callback.html",
  acrValues: "urn:grn:authn:dk:mitid:substantial",
});

criiptoAuth.redirect.authorize({
  redirectUri: "http://localhost:8000/example/index.html",
  acrValues: "urn:grn:authn:dk:mitid:substantial",
});

认证

初始化/构建者

var criiptoAuth = new CriiptoAuth({
  domain: "{YOUR_CRIIPTO_DOMAIN}",
  clientID: "{YOUR_CRIIPTO_APPLICATION_ID}",
  store: sessionStorage,
});

var criiptoAuth = new CriiptoAuth({
  domain: "{YOUR_CRIIPTO_DOMAIN}",
  clientID: "{YOUR_CRIIPTO_APPLICATION_ID}",
  store: sessionStorage,
  redirectUri: "http://localhost:8000/example/index.html",
  acrValues: "urn:grn:authn:dk:mitid:substantial",
});

参数:

  • 域( 需要, 字符串): 您的 Criipto 应用程序所属域, 例如 example.criipto.id。 。 。 .
  • 客户端ID( 需要, 字符串): Criipto 应用程序的客户端 ID/ realm.
  • 额外授权参数: 见 授权参数

授权参数

所有授权方法,如 criiptoAuth.popup.authorize, (中文(简体) ), criiptoAuth.redirect.authorize 财务报告和审定财务报表 criiptoAuth.authorizeResponsive 使用一组授权参数。 这些授权参数也可以默认情况下通过 CriiptoAuth 建筑师.

  • 重定向Uri (字符串): Criipto 将随认证成功或失败的结果调回的 URL 。 它必须在您的 Criipto 应用程序设置中的“ 召回 URL” 中被白列.
  • 字符串(字符串): 用于认证的 EID, 如 urn:grn:authn:dk:mitid:substantial中,可找到可接受值列表 https://{YOUR_CRIIPTO_DOMAIN}/.well-known/openid-configuration

授权响应

criiptoAuth.authorizeResponsive({
  "(min-width: 768px)": {
    via: "popup",
    redirectUri: "http://localhost:8000/example/popup-callback.html",
    acrValues: "urn:grn:authn:dk:mitid:substantial",
    width: 320,
    height: 460,
  },
  "(max-width: 767px)": {
    via: "redirect",
    redirectUri: "http://localhost:8000/example/index.html",
    acrValues: "urn:grn:authn:dk:mitid:substantial",
  },
});

为选择授权方法提供了方便的方法(第1条)popup 或者说 redirect)基于CSS媒体查询(屏幕大小).

  • {[媒体查询:字符串]:{通过:'poup' }`rediction', 授权参数}}

弹出

授权

const response = await criiptoAuth.popup.authorize({
  width: 300,
  height: 400,
  redirectUri: "http://localhost:8000/example/popup-callback.html",
  acrValues: "urn:grn:authn:dk:mitid:substantial",
  /** Using a random state is helpful,
   * if your users are able to
   * trigger new popups while a request
   * is still pending */
  state: Math.random().toString(),
});
console.log(response.id_token, response.claims);
  • 宽度( 可选的, 数字):弹出处的宽.
  • 高度( 可选的, 数字): 弹出高度
  • 授权参数

自动方向

授权

criiptoAuth.redirect.authorize({
  redirectUri: "http://localhost:8000/example/index.html",
  acrValues: "urn:grn:authn:dk:mitid:substantial",
});

将用户浏览器标签重定向到授权 URL 。 经批准后,用户将重新定向到所提供的位置 redirectUri。 。 。 .

匹配

const match = await criiptoAuth.redirect.match();
console.log(match.code);
console.log(match.id_token, match.claims);

返回带有代码或 id token 密钥的对象(如果在其中存在) window.location 搜索(query params)或散列.

注销

如果您为您的域启用了 SSO 而您没有使用 prompt=login 您可以使用 logout() 清除用户SSO会话.

criiptoAuth.logout({
  redirectUri: "http://localhost:8000/example/index.html",
});

版本与发布记录

@criipto/auth-js 共发布 91 个版本,首次发布于 2021/08/09;过去 12 个月发布了 7 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
5.0.1latest2026/09/251 个月前
5.0.02026/09/161 个月前
4.0.32026/03/247 个月前
4.0.22026/03/197 个月前
4.0.12026/03/068 个月前
4.0.02026/03/068 个月前

关于 @criipto/auth-js 的常见问题

@criipto/auth-js 是什么?

在您的 Javascript 应用程序中接受 MitID、NemID、瑞典银行ID、挪威银行ID 和其他电子ID供应商的登录 @criipto/auth-js。 。 。 .

如何安装 @criipto/auth-js?

在项目目录运行 npm install @criipto/auth-js,或使用 pnpm add / yarn add / bun add。

@criipto/auth-js 支持 TypeScript 吗?

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

@criipto/auth-js 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@criipto/auth-js 可以商用吗?

@criipto/auth-js 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@criipto/auth-js 的下载量有多少?

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

@criipto/auth-js 还在维护吗?

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