npm 包 respected 使用教程

AI 编程助手,豆包旗下的编程助手,提供智能补全、智能预测、智能问答等能力,节省开发时间,释放脑海中的创造力,支持 VSCode,点击体验 AI

什么是 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


猜你喜欢

  • npm 包 shgis 使用教程

    前言 在前端开发中,我们常常需要使用地图相关的功能,而 shgis 包就是一个非常适合前端开发者使用的地图相关 npm 包。在本教程中,我们将详细介绍 shgis 的使用方法和注意事项,帮助你更好地使...

    2 年前
  • npm 包 @huston007/react-native-mock 使用教程

    简介 @huston007/react-native-mock 是一个适用于 React Native 的 mock 库,可以模拟 Android 和 iOS 不同场景下的各种操作和事件,方便前端开发...

    2 年前
  • NPM 包 @june-www/core 使用教程

    什么是 @june-www/core @june-www/core 是一个用于前端开发的 NPM 包,它为我们带来了许多方便实用的工具函数和组件。这个包包含了诸如日期格式化、字符串操作、数组操作、DO...

    2 年前
  • npm 包 testpackage_demo 使用教程

    在前端开发中,有许多方便实用的 npm 包可以使用。其中一个比较常用的是 testpackage_demo。 testpackage_demo 简介 testpackage_demo 是一个简单的测试...

    2 年前
  • npm 包 tesseract-hocr 使用教程

    tesseract-hocr 是一个基于 Tesseract OCR 引擎的 npm 包,可以用来识别图像中的文本,并将其转换为 HOCR 格式的输出。本文将详细介绍 tesseract-hocr 的...

    2 年前
  • npm 包 anjianshi-site-packer 使用教程

    前言 在前端开发中,我们通常需要对网站的静态资源进行压缩及混淆处理,以避免资源被恶意利用或者网络传输耗时过长等问题。anjianshi-site-packer 就是一个专门用于网站静态资源压缩及混淆的...

    2 年前
  • npm 包 dat-now 使用教程

    前言 随着前端技术的不断发展,许多新的技术和工具被提出并广泛使用。其中,npm 是一个流行的包管理器,它可以让我们轻松地共享和使用包。在本文中,我们将介绍一个 npm 包 dat-now 的使用教程。

    2 年前
  • npm 包 dee.template 使用教程

    介绍 dee.template 是一个基于 JavaScript 的前端模板引擎,它支持传统的字符串模板和 ES6 的模板字符串语法,同时它还提供了一些高级的特性,例如:条件语句,循环语句,局部变量等...

    2 年前
  • NPM包jorgebeta使用教程

    什么是npm包? npm是管理JavaScript包的最流行工具之一。尽管在NPM注册表上有几百万个软件包,但是在某些情况下,您可能需要自己编写软件包。本文将介绍npm包jorgebeta的使用方法。

    2 年前
  • npm 包 deployjs-ember-build 使用教程

    在前端开发中,部署是一个非常重要的步骤。简单来说,部署就是把代码上传到服务器,通过服务器提供的服务来让用户进行访问。然而,在实际开发中,部署却往往是一个非常繁琐的过程。

    2 年前
  • npm 包 weex-service 使用教程

    前言 在前端开发中,我们常常会使用到框架和库,而 weex-service 就是一个非常实用的 npm 包。它是一个用于编译和调试 weex 项目的工具,可以方便快捷地将 weex 代码编译成对应平台...

    2 年前
  • npm 包 node-red-contrib-atem 使用教程

    在前端开发中,我们经常会使用各种 npm 包来提高开发效率和代码质量。其中,一些针对特定领域的 npm 包可以为开发者提供更加便捷的操作方法,其中就包括 node-red-contrib-atem 这...

    2 年前
  • npm 包 find-and-replace-immutable 使用教程

    在前端开发中,对于数据的处理非常重要,而 immutable 数据结构的使用也越来越普遍。在进行 immutable 数据处理的过程中,我们常常需要针对某些值进行替换操作。

    2 年前
  • npm 包 wpi 使用教程

    在前端开发中,使用 npm 包可以大大提高开发效率。其中一个非常有用的 npm 包是 wpi,它可以帮助我们轻松地进行树莓派的开发。 wpi 是什么? wpi 是一个用于树莓派 GPIO 的 npm ...

    2 年前
  • npm 包 svg-path-to-polygons 使用教程

    在前端开发中,使用 SVG 图像是一个常见的需求。而有时候,我们需要将 SVG 图像转换为一组多边形,以便进行进一步的处理或渲染。在这种情况下,我们可以使用 npm 包 svg-path-to-pol...

    2 年前
  • npm 包 cordova-mono-repo 使用教程

    前言 在前端开发中,常常需要使用到 Cordova 框架进行移动端应用的开发。但是,当项目规模逐渐扩大,团队协作难度也会增加。为了解决这个问题,我们可以利用 monorepo 技术将多个 Cordov...

    2 年前
  • npm 包 handle-xhr-error 使用教程

    Web 开发中,网络请求故障是个经常出现的问题。jQuery 和现代浏览器的 Ajax 请求支持错误回调,可以在请求失败的时候执行代码。但是,我们需要在多处重复编写处理错误的代码来兼容旧浏览器和使用原...

    2 年前
  • npm 包 cordova-plugin-google-vr 使用教程

    前言 通过HTML、CSS和JavaScript实现的移动应用程序通常会受到内置感知技术的限制,这会阻止它们使用如虚拟现实(VR)等先进的技术。然而,Cordova社区提供了Cordova插件,从而可...

    2 年前
  • npm 包 html-webpack-plugin-template-vars 使用教程

    引言 在前端开发中,我们经常需要将项目的静态资源打包为部署给客户端的代码。其中,webpack 是前端项目中最常用的打包工具之一。webpack 可以通过一系列插件(plugins)的搭配使用,进一步...

    2 年前
  • npm 包 jira-agile-api-client 使用教程

    简介 JIRA 是一个流行的项目管理工具,而 jira-agile-api-client 是一个基于 Node.js 的 JIRA 敏捷 API 的封装工具,使得开发者可以更加方便地使用 JIRA 的...

    2 年前

相关推荐

    暂无文章