npm 包 objection-auth 使用教程

阅读时长 5 分钟读完

简介

现在,前后端分离的开发已经非常流行了。在绝大部分情况下,前端负责开发用户界面并与后端进行交互。前端经常需要使用 JSON Web Token(JWT)进行身份验证,这时就需要使用 objection-auth 这个 npm 包。

objection-auth 是一个 Objeciton.js 的插件。它允许开发者创建授权和角色策略,并与如 JWT 等第三方认证/授权服务进行交互。

在本篇教程中,我们将会了解 objection-auth 的基本用法,以及如何将授权策略应用到请示和响应中。

安装和使用

安装 objection-auth

在安装 objection-auth 之前,我们需要先安装 objection.js 这个 ORM。在终端中,我们将执行以下命令:

然后,我们就可以安装 objection-auth 了:

用法

下面是 objection-auth 的一些基本用法。在使用它之前,我们需要先创建一个数据库模型。

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

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

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

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

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

然后,我们需要使用 objection-auth 函数来添加授权策略:

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

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

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

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

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

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

上述代码中,我们使用了 Passport.js 中的 JWT 策略来验证用户。如果用户的角色不在规定的列表中,则返回 401 状态码。

使用授权策略很简单。下面是一个使用授权策略的示例:

在上述代码中,我们使用 auth.hasRole() 函数来检查用户是否有权限进行某个操作。

总结

学会使用 objection-auth 可以在前后端分离的环境中实现更好的授权/身份验证策略。在本篇教程中,我们简要地介绍了 objection-auth 的基本用法,并且提供了一个实际的使用示例。如果你正在开发一个 Node.js 应用程序,并且需要一个身份验证/授权机制,那么 objection-auth 绝对是一个值得考虑的选择。

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

纠错
反馈