npm 包 @aws-sdk/middleware-signing 使用教程

阅读时长 5 分钟读完

介绍

在云计算领域,AWS(Amazon Web Services)是著名的云服务提供商之一。开发者可以使用 AWS 提供的 AWS SDK 开发应用程序,通过 AWS 服务提供的 API 获取云计算资源。

在前端开发中,我们经常需要使用 AWS SDK 来访问 AWS 服务提供的 API。其中 @aws-sdk/middleware-signing 是一个用来签名 AWS API 请求的 npm 包。本文将介绍如何使用 @aws-sdk/middleware-signing 来签名 AWS API 请求。

签名原理

AWS API 接口需要在请求头中添加 Authorization 字段,用来验证请求是否来自授权的用户。在请求头中添加 Authorization 字段时,需要使用 AWS 所支持的签名算法进行签名。

AWS API 的签名过程如下:

  1. 从请求中提取 HTTP 请求方法(例如 GET、POST、PUT、DELETE 等)、请求路径(例如 /foo/bar)、请求参数、请求报文头部及请求报文主体等信息。
  2. 使用请求信息生成签名所需的字符串 Canonical Request。
  3. 使用 Canonical Request 和 AWS Secret 生成签名所需的字符串 String To Sign。
  4. 使用 String To Sign 和 AWS Secret 生成请求签名 Signature。
  5. 将签名信息添加到 Authorization 字段中。

@aws-sdk/middleware-signing 实现了 AWS 签名算法的生成过程,简化了签名流程。使用 @aws-sdk/middleware-signing,可以方便地向 AWS API 请求中添加签名信息。

安装

使用以下命令安装 @aws-sdk/middleware-signing:

使用步骤

步骤一:创建 AWS SDK 客户端对象

要使用 @aws-sdk/middleware-signing 对 AWS API 请求进行签名,需要首先创建 AWS SDK 客户端对象。AWS SDK 客户端对象用于管理与 AWS 服务的连接,可以为不同 AWS 服务创建不同的客户端对象。

以下示例代码展示了如何创建一个用于连接 AWS S3 服务的 AWS SDK 客户端对象:

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

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

步骤二:创建 @aws-sdk/middleware-signing 中间件对象

要使用 @aws-sdk/middleware-signing 对 AWS API 请求进行签名,需要创建一个中间件对象并将其添加到 AWS SDK 客户端对象中。以下示例代码展示了如何创建一个 @aws-sdk/middleware-signing 中间件对象,并将其添加到先前创建的 S3 客户端对象中:

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

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

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

步骤三:发送 AWS API 请求

添加完中间件对象后,可以使用 AWS SDK 客户端对象发送 AWS API 请求。以下示例代码展示了如何使用先前创建的 S3 客户端对象向 S3 存储桶中上传文件:

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

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

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

总结

本文介绍了如何使用 @aws-sdk/middleware-signing 对 AWS API 请求进行签名。通过简单的三步操作,我们可以方便地向 AWS API 请求中添加签名信息。掌握签名技术后,前端开发者可以更方便地使用 AWS 提供的云计算服务。

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

纠错
反馈