npm 包 @hoodie/server-account-node-sessions 使用教程

介绍

@hoodie/server-account-node-sessions 是一个 npm 包,它为 Hoodie 的账户系统提供了一种会话验证机制。它使用 Node.js 中的 express-session 库来创建并存储用户会话,并通过 Hoodie 的插件系统来对其进行验证。

安装

你可以通过 npm 来安装 @hoodie/server-account-node-sessions。

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

使用

要使用 @hoodie/server-account-node-sessions,你需要将其添加到 Hoodie 插件系统中,并在 Hoodie 启动时将其设置为要使用的会话验证机制。

将插件添加到 Hoodie

要将 @hoodie/server-account-node-sessions 添加到 Hoodie 插件系统中,你需要将其添加到你的项目的 package.json 中。

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

然后使用 npm 安装该插件:

--- -------

启用会话验证

要启用会话验证,你需要通过设置 Hoodie 的 account.session 配置来启用它。

-- ---------

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

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

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

你可以通过配置对象来设置会话验证的适配器。该适配器定义了会话数据应该如何存储。现在只有一个适配器可用:'memory',它将会话数据存储在内存中。实际上,你不应该在生产中使用该适配器,因为它只适用于开发和测试。

将会话验证应用到路由

@hoodie/server-account-node-sessions 提供了一个名为 withSession 的中间件,可以用来应用会话验证规则到路由中。

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

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

当请求到达该路由时,中间件将检查用户是否已登录。如果用户已登录,中间件将使请求继续。否则,中间件将发送一条 401 响应。

中间件还可以检查用户是否具有特定的角色或使用具有特定名称的令牌。

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

现在,只有具有 "admin" 角色的用户才能访问 /admin 路由。

示例代码

以下是一个完整的示例,它演示了如何使用@hoodie/server-account-node-sessions 在 Hoodie 中启用会话验证。

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

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

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

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

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

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

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

在该示例中,我们创建了一个 HTTP 服务器,该服务器在 / 路径上提供了一个简单的欢迎消息。我们使用 sessions.withSession 中间件来启用会话验证。如果用户未登录,中间件将发送一条 401 响应。如果用户已登录,中间件将使请求继续向下执行,并从 req.session 中读取用户名。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60066bb8967216659e2440d5


猜你喜欢

  • npm 包 @jimpick/superagent 使用教程

    前言 在前端开发中,很多时候我们需要从后端获取数据或者处理一些网络请求,这时候就需要用到一个网络请求库。而 @jimpick/superagent 就是一个优秀的网络请求库,它是 superagent...

    3 年前
  • npm 包 @jisp/runner 使用教程

    简介 @jisp/runner 是一个基于 Node.js 的命令行工具,用于在不同的运行环境中运行 JavaScript 代码,并提供了对应的调试能力。 这个工具可以帮助前端工程师在本地开发时使用不...

    3 年前
  • npm 包 dictionary.min.js 使用教程

    介绍 dictionary.min.js 是一个基于 Javascript 的 npm 包,它提供了丰富的词典数据,包括单词的释义、拼音、例句等内容。它的使用非常简单,只需要在项目中进行安装就可以直接...

    3 年前
  • npm 包 @jiubao/vue-validator 使用教程

    作为一个现代化的前端开发人员,我们需要了解和掌握众多的工具和技术,其中,Vue.js 是一个流行的前端框架之一。而 @jiubao/vue-validator 就是一个常用的 Vue.js 验证库,用...

    3 年前
  • npm 包 @jjpmann/gulp-inject-bacon 使用教程

    前言 前端开发的工作中,我们往往需要管理许多的资源文件,比如 JavaScript、CSS、图片、字体等等,为了提高开发效率和代码质量,我们一般使用自动化工具来管理这些资源文件。

    3 年前
  • npm 包 @jangiegb/lirrwatch 使用教程

    简介 Lirrwatch 是一个基于 Node.js 的 npm 包,用于查询 Long Island Rail Road(LIRR)车站的实时动态信息。它提供了一种方便的方式,让用户可以快速获取 L...

    3 年前
  • npm 包 @jangle/api 使用教程

    前言 在前端开发中,我们经常需要和后端 API 进行交互,而在前端项目中使用 API 的方式有很多种,例如直接使用 HTTP 请求库发送请求、使用 RESTful 风格的 API 管理工具等等。

    3 年前
  • npm 包 @jangle/core 使用教程

    简介 @jangle/core 是一个智能化、可扩展的前端应用开发工具,它通过提供一系列标准化的组件、服务等,来简化复杂应用的开发和维护。 安装 使用 npm 进行安装: --- ------- --...

    3 年前
  • npm包@jannis/metalsmith-watch使用教程

    简介 @jannis/metalsmith-watch是一款基于Node.js的自动重载工具,特别适用于前端开发环境。该工具可以在文件修改后自动刷新页面,提高开发效率。

    3 年前
  • npm 包 @janslow/ci-build-version 使用教程

    简介 在前端开发过程中,我们经常会需要自动化打包和构建项目。而在这个过程中,版本号的管理也是非常重要的一环。npm 包 @janslow/ci-build-version 就是为了解决这个问题而存在的...

    3 年前
  • npm 包 @jimpick/akismet-api 使用教程

    什么是 @jimpick/akismet-api? @jimpick/akismet-api 是一个 JavaScript 库,它提供了与 WordPress 的 Akismet API 交互的功能。

    3 年前
  • npm 包 @jimbolla/react-redux 使用教程

    如果你是一名前端开发工程师,那么你一定会使用到 React 和 Redux 这两个框架。这两个框架都非常流行,并且在项目开发中使用广泛。而 @jimbolla/react-redux 这个 npm 包...

    3 年前
  • npm 包 @jimpick/jsondiffpatch 使用教程

    简介 @jimpick/jsondiffpatch 是一个基于 JSON 对象的差异比较和合并工具,它可以帮助前端开发者快速比较和合并不同版本的 JSON 数据。同时,它还支持深层次的比较和合并,可以...

    3 年前
  • npm 包 @joshforisha/cycle-firebase 使用教程

    前言 如果你正在开发一个使用 Firebase 数据库的前端应用,那么你可能会遇到一些麻烦。Firebase 的 API 可能不那么直观,而且处理 Firebase 的状态可能会变得很困难。

    3 年前
  • npm 包 @jorguema/token-service-module 使用教程

    在前端开发中,我们通常需要使用到许多第三方库和工具,以便更好地实现复杂的功能。npm 是目前最流行的 JavaScript 包管理工具,可以帮助我们快速、方便地获取和安装需要的包。

    3 年前
  • npm 包 @joshforisha/style 使用教程

    简介 @joshforisha/style 是一个优秀的前端 CSS 样式库,使用方便,样式丰富。本文将详细介绍该样式库的使用方法和相关技巧。 安装和引用 @joshforisha/style 使用 ...

    3 年前
  • npm 包 @jimpick/react-redux 使用教程

    介绍 @jimpick/react-redux 是一个基于 React 和 Redux 的 npm 包,它为前端开发者提供了一种方便的方法来管理应用程序的状态和 UI,从而使应用程序更加易于维护和扩展...

    3 年前
  • npm 包 @joshfry/aspect-ratio 使用教程

    前言 在前端开发中,一些特定的布局可能会要求元素保持特定的纵横比例,而这个比例往往由父元素的宽度来决定。为此,我们可以使用 @joshfry/aspect-ratio 这个 npm 包,来帮助我们轻松...

    3 年前
  • npm 包 @jwalsh/jsontokens 使用教程

    简介 @jwalsh/jsontokens 是一款实现 Json Web Tokens(JWT)规范的 npm 包,它使得在前端应用中使用 JWT 变得非常方便。JWT 是一种安全而有效的 token...

    3 年前
  • npm 包 @josegranado/platzom 使用教程

    前言 在前端开发中,我们时常需要编写一些辅助性的代码片段,这些代码片段可能会反复使用,为了提高生产效率和提供代码可重用性,我们可以将这些代码片段封装成一个 npm 包并发布到 npm 包管理器中,供其...

    3 年前

相关推荐

    暂无文章