npm 包 lambda-custom-authorizer-middleware 使用教程

阅读时长 7 分钟读完

前言

随着云服务的发展,互联网应用越来越向微服务化的方向发展。为了方便管理这些微服务,AWS(Amazon Web Services)提供了一整套服务。其中 Lambda 是一种在云端运行代码的服务,可以编写出纯函数来响应请求,使用起来非常方便,可以极大地减轻后端服务器的压力。本文将介绍如何使用 lambda-custom-authorizer-middleware 这个 npm 包来扩展 Lambda 服务的功能。

安装

在 npm 仓库中安装此包:

如何使用

首先,我们需要在 AWS 控制台创建一个 Lambda 函数,可以选择 RESTful API、HTTP API、或服务器执行器(例如 Elastic Beanstalk)。

在创建好一个 Lambda 函数之后,我们就需要进行授权,让 AWS 知道对于哪些请求,是否需要进行授权。

进入 AWS 控制台,进入到相应的 Lambda 函数页面,点击左侧栏的 API Gateway 子菜单。在该页面中,选择“使用 Lambda 代理 API”。

在弹出的界面中,需要选择“API Gateway 权限”,然后填写指定的授权策略。

此时,我们已经可以为这个 Lambda 函数进行授权了,现在的问题是如何使用 lambda-custom-authorizer-middleware 来扩展 Lambda 函数的功能。

首先,我们需要在代码中导入此 npm 包:

然后,我们需要利用这个 authMiddleware 函数,将 Lambda 函数的 event 和 context 作为参数,进行扩展处理。

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

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

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

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

需要注意的一点是,lambda-custom-authorizer-middleware 扩展了 Lambda 函数的 context 对象,将用户的信息等信息添加到 context 值中,从而扩展了原有的功能。

如果我们需要在扩展函数时进行更多的控制,可以将 lambda-custom-authorizer-middleware 作为一个中间件来使用:

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

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

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

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

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

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

示例代码

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

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

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

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

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

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

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

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

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

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

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

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

以上就是 lambda-custom-authorizer-middleware 的使用说明和示例代码。它可以很容易地扩展 Lambda 服务的功能,使开发者更加快速地实现身份验证、自定义中间件等需求。

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

纠错
反馈