npm 包 avelow-auth 使用教程

阅读时长 6 分钟读完

简介

avelow-auth 是一个基于 Node.js 的轻量级身份验证库,使用 JSON Web Token(JWT)进行身份验证,支持密码和令牌两种登录方式。

安装

使用 npm 或者 yarn 安装 avelow-auth。

或者

使用方法

密码登录

首先需要在登录页面让用户输入用户名和密码,然后在服务器端进行验证。

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

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

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

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

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

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

authenticate 函数是用来验证用户名和密码是否匹配的,返回 true 表示匹配,false 表示不匹配。

当用户成功登录后,使用 avelowAuth.sign 函数生成一个 JWT 并将其存储在前端的 cookie 或者 local storage 中。

令牌登录

当用户已经登录成功并获取了 JWT,就可以在后续的请求中携带这个 JWT 来进行身份验证。

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

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

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

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

protect 函数是一个中间件,用来保护需要身份认证的路由。当请求来到需要身份验证的路由时,会先检查请求头中是否携带了 JWT,如果没有,返回 401 错误状态码并提示缺少令牌。如果携带了 JWT,就使用 avelowAuth.verify 函数来验证 JWT,并将解码后的数据存储在 req 对象的 user 属性中,继续执行下一个中间件。

示例代码

登录页面

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

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

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

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

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

身份验证中间件

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

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

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

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

总结

本文介绍了 avelow-auth 的使用方法,包括密码登录和令牌登录。使用 avelow-auth 可以快速实现身份验证,提高 Web 应用的安全性。

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

纠错
反馈