npm 包 @keyhub/keyhub-vault-nxt 使用教程

阅读时长 4 分钟读完

什么是 @keyhub/keyhub-vault-nxt

@keyhub/keyhub-vault-nxt 是 Keyhub 公司开发的一个为 Web 应用提供身份认证和权限管理的 npm 包。它可以实现对应用的安全访问控制,使得用户仅能访问到他有权限的页面或功能,并能够在使用可信的身份信息的情况下,有条件地使用 Keyhub 中的安全服务。

安装

在使用 @keyhub/keyhub-vault-nxt 之前,你需要先通过 npm 安装该包。在终端输入以下命令即可进行安装:

使用

安装完成 @keyhub/keyhub-vault-nxt 后,你可以使用它提供的类及方法来实现认证和权限管理。

初始化

首先,你需要实例化 KeyhubVault 对象并调用它的 init 方法。init 方法接受一个对象作为参数,该对象包括以下属性:

  • vaultUrl: 你的 Keyhub Vault 的 API Endpoint
  • appId: 你在 Keyhub 中创建的应用的 ID
  • appSecret: 你在 Keyhub 中创建的应用的 Secret

以下是一个初始化 KeyhubVault 对象并调用 init 方法的示例代码:

登录

接下来,你可以使用 KeyhubVault 对象的 login 方法,来进行身份认证。login 方法接受一个 loginOptions 对象作为参数,该对象包括以下属性:

  • userId: 用户的 ID
  • password: 用户的密码

登录成功后,登录回调函数将会被调用。在登录回调函数中,你可以将用户的身份信息存储到 sessionStorage 或 localStorage 中,以实现用户的持久化登录。

以下是一个登录并将用户信息存储到 sessionStorage 中的示例代码:

-- -------------------- ---- -------
----- ------------ - -
  ------- ---------------
  --------- ---------------
--

------------------------------- ----- ----- -- - 
  -- ----- - 
    ---------------------------
  - ---- - 
    ------------------------------ ---------------------- 
  - 
---

权限管理

KeyhubVault 还提供了 checkPermission 方法,用于判断用户是否有权限访问某个页面或功能。该方法接受一个对象作为参数,该对象包括以下属性:

  • userId: 用户的 ID
  • resource: 要访问的资源
  • action: 要执行的操作

以下是一个 checkPermission 的示例代码:

-- -------------------- ---- -------
----- ----------------- - - 
  ------- ---------------
  --------- -------------
  ------- -----
-- 

---------------------------------------------- ----- ------- -- - 
  -- ----- - 
    --------------------------- 
  - ---- - 
    -------------------- -- ---- -- ----- 
  - 
---

总结

通过以上示例代码,你可以使用 @keyhub/keyhub-vault-nxt 来实现 Web 应用的身份认证和权限管理。当然,这只是它的一个部分功能,更多功能你可以自行参考官方文档。不过需要注意的是,使用 @keyhub/keyhub-vault-nxt 要求你必须拥有 Keyhub 的账号并在其中提前创建应用,才能开发和调试该包。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066b5451ab1864dac669f1

纠错
反馈