npm 包 keychain-env 使用教程

阅读时长 5 分钟读完

在前端开发过程中,我们经常需要处理敏感信息,比如 API 密钥、数据库密码等等,这些信息往往不能暴露在前端代码中,而需要以安全的方式存储和管理。此时使用 keychain-env 这个 npm 包可以帮助我们解决这个问题。

什么是 keychain-env

keychain-env 是一个用于存储敏感信息的 npm 包。它通过 macOS Keychain 或者 Windows Credential Store 来存储这些信息,可以确保这些信息不会暴露在代码或者配置文件中,同时也保障了这些信息的安全性。

安装

先使用 npm 安装 keychain-env:

目前 keychain-env 可以支持 macOS 和 Windows 操作系统。

用法

keychain-env 的使用非常简单,它提供了几个 API 来存储、获取、删除敏感信息。

存储

使用 set 方法可以将敏感信息存储到本地系统的凭据管理器中(Keychain 或者 Credential Store):

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

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

调用 set 方法需要传入一个对象,包含了 service(服务名称)、account(账户名)和 password(密码)三个属性,以及回调函数,用来处理错误和成功信息。

获取

使用 get 方法可以从本地系统的凭据管理器中获取之前存储的敏感信息:

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

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

调用 get 方法需要传入一个对象,包含了 service(服务名称)和 account(账户名)两个属性,以及回调函数,用来处理错误和成功信息。如果没有找到对应的敏感信息,回调函数的第二个参数 cred 将会是一个空对象。

删除

使用 delete 方法可以从本地系统的凭据管理器中删除之前存储的敏感信息:

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

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

调用 delete 方法需要传入一个对象,包含了 service(服务名称)和 account(账户名)两个属性,以及回调函数,用来处理错误和成功信息。

示例代码

下面是一个完整的示例代码,演示了如何使用 keychain-env 存储和获取敏感信息:

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

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

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

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

如果一切正常,控制台将会输出下面这几行信息:

总结

使用 keychain-env 可以方便地管理敏感信息,让前端开发者可以更加安心和自信地处理这些信息。当然,它只是一种方案,如果你有其他更好的解决方案,欢迎在评论区分享!

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

纠错
反馈