在开发中我们经常会需要使用到敏感信息,例如密码,API keys等。为了保护这些敏感信息,我们需要使用 keychain 这个工具来帮助我们管理这些信息。
什么是 keychain
Keychain 是一个用于管理密码、证书和相关证据的 macOS 框架,通常用于存储用于短期或长期身份验证的密码。 它是一个加密数据存储库,可以存储和检索敏感信息,包括密码和访问令牌。Keychain可以确保数据在存储和检索时始终受到保护,即使其他用户可以访问计算机。
我们可以使用 npm 包 keychain 来在 JavaScript 项目中使用 keychain 进行敏感信息的存储和检索。下面是 keychain 的使用教程。
安装
我们需要先安装 keychain,可以使用 npm 进行安装:
npm i keychain
API
keychain 有以下 api:
- addPassword
- getPassword
- deletePassword
- updatePassword
- findPassword
使用
添加密码
使用 addPassword API 添加新密码,其返回值是一个 Promise,成功时返回一个对象,表示密码创建成功;否则返回一个错误。
-- -------------------- ---- ------- ----- -------- - -------------------- ----- ------- - -------- -- ----- -------- -- ---- ----------------------------- -------------- -------------- -------- -- - --------------------- ----- -- ----------- -- ------------ -- - ----------------------- ----- --- -- ----- -- ---------- ------- ---
此处,我们在 keychain 中添加了一个服务名为 'my-app' 的新密码,用户名是 'my-username',密码是 'my-password'。
获取密码
使用 getPassword API 获取密码,其返回值也是一个 Promise。
-- -------------------- ---- ------- ----- -------- - -------------------- ----- ------- - -------- -- ----- -------- ----------------------------- -------------- -------------- -- - --------------------- --------- ---- ---------- ---------- -- ------------ -- - ----------------------- ----- --- -- --------- ---- ---------- ------- ---
这里,我们从 keychain 中获取了服务名为 'my-app',用户名为 'my-username' 的密码。
删除密码
使用 deletePassword API 删除密码,其返回值也是一个 Promise。
-- -------------------- ---- ------- ----- -------- - -------------------- ----- ------- - -------- -- ----- -------- -------------------------------- -------------- -------- -- - --------------------- ------- ---- ----------- -- ------------ -- - ----------------------- ----- --- -- ------- ---- ---------- ------- ---
这里,我们从 keychain 中删除了服务名为 'my-app',用户名为 'my-username' 的密码。
更新密码
使用 updatePassword API 更新密码,其返回值也是一个 Promise。
-- -------------------- ---- ------- ----- -------- - -------------------- ----- ------- - -------- -- ----- -------- -------------------------------- -------------- --------------- -------- -- - --------------------- ------- -- ----------- -- ------------ -- - ----------------------- ----- --- -- ------- -- ---------- ------- ---
这里,我们更新了 keychain 中服务名为 'my-app',用户名为 'my-username' 的密码为 'new-password'。
查找密码
使用 findPassword API 查找密码,其返回值也是一个 Promise。
-- -------------------- ---- ------- ----- -------- - -------------------- ----- ------- - -------- -- ----- -------- ------------------------------ ----------------- -- - ------------------ -------- -- ---------- ------------- -- ------------ -- - ----------------------- ----- --- -- ----- -- ---------- ------- ---
我们查找 keychain 中服务名为 'my-app' 的密码,并返回一个包含密码及其相关信息的对象。
结论
Keychain 是一个用于管理密码、证书和相关证据的 macOS 框架。使用 keychain 模块,我们可以在 JavaScript 项目中轻松地存储和检索敏感信息,包括密码、API key 等。这篇教程演示了如何使用 keychain API 进行密码的添加、获取、删除、更新和查找。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/186345