npm 包 respected 使用教程

阅读时长 4 分钟读完

什么是 respected

respected 是一个用于验证用户登录凭证的 Node.js 模块,它支持多种认证方式,包括用户名/密码、Cookie、JWT 等。使用 respected 可以轻松地实现用户认证功能,避免重复编写认证逻辑。

安装

使用 npm 安装:

使用方法

以下为一个简单的使用示例:

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

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

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

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

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

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

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

在这个示例中,/protected 接口需要登录才能访问,使用了 respected 中间件来验证用户登录凭证。在中间件的选项中,我们指定了认证方式为 Bearer,也就是 JWT token 在请求头中的格式。

验证函数中使用了异步函数,在异步函数中可以进行数据库查询等耗时操作,返回值为通过验证的用户对象。在路由中可以通过 req.auth 获取到通过验证的用户对象。

API

respected.middleware(options)

返回一个 Express 中间件函数,用于验证用户登录凭证。

选项:

  • scheme:字符串或正则表达式,表示登录凭证的认证方式。如果是字符串,则必须与请求头中的认证方式完全匹配;如果是正则表达式,则必须与请求头中的认证方式部分匹配。默认为 'Bearer'
  • validate(token, req):异步函数,用于验证登录凭证。参数 token 为凭证字符串,参数 req 为 Express 请求对象。在该函数中应该进行登录凭证的验证,并返回通过验证的用户对象。如果身份验证失败,则应该抛出错误或返回 false。该函数必须为异步函数,并且返回值必须是一个对象或 nullundefined

respected.verify(token, options)

验证登录凭证的函数。参数 token 为凭证字符串,参数 options 为选项对象。

选项:

  • scheme:字符串或正则表达式,表示登录凭证的认证方式。如果是字符串,则必须与请求头中的认证方式完全匹配;如果是正则表达式,则必须与请求头中的认证方式部分匹配。默认为 'Bearer'
  • validate(token):异步函数,用于验证登录凭证。参数 token 为凭证字符串。在该函数中应该进行登录凭证的验证,并返回通过验证的用户对象。如果身份验证失败,则应该抛出错误或返回 false。该函数必须为异步函数,并且返回值必须是一个对象或 nullundefined

respected.extractToken(req, options)

从请求对象中提取登录凭证的函数。参数 req 为 Express 请求对象,参数 options 为选项对象。

选项:

  • scheme:字符串或正则表达式,表示登录凭证的认证方式。如果是字符串,则必须与请求头中的认证方式完全匹配;如果是正则表达式,则必须与请求头中的认证方式部分匹配。默认为 'Bearer'

返回登录凭证的字符串,如果请求头中不存在登录凭证,则返回 null

总结

respected 是一个方便的 Node.js 模块,用于验证用户登录凭证。它支持多种认证方式,使用简单,可以轻松实现用户认证功能。在实际使用中,我们可以根据需要选择合适的认证方式,并编写验证函数进行自定义验证逻辑的实现。

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

纠错
反馈