npm 包 @aws-sdk/client-cognito-identity 使用教程

阅读时长 6 分钟读完

前言

AWS Cognito 是一项 AWS 的服务,它为应用程序提供了安全和用户身份验证。它简化了开发人员在应用程序中集成认证和授权的过程,同时为应用程序的用户提供了强大的身份验证选项。

在这篇文章里,我们将讨论如何使用 @aws-sdk/client-cognito-identity npm 包来访问 AWS Cognito 服务。我们将探索如何在 Node.js 中创建 Cognito 身份池、如何使用该身份池来认证(或未认证)的用户,并且我们将介绍一些常用的操作。

安装 @aws-sdk/client-cognito-identity

首先,我们需要在我们的 Node.js 项目中安装 @aws-sdk/client-cognito-identity npm 包。你可以使用以下命令进行安装:

这将在你的项目中安装这个包及其所有依赖项。

创建身份池

在使用身份池之前,我们需要在 AWS Cognito 上创建身份池。要创建身份池,我们需要使用 AWS 管理控制台。

  1. 登录到 AWS 管理控制台:https://console.aws.amazon.com/
  2. 导航到 Cognito 服务并选择“身份池”选项卡。
  3. 单击“新建身份池”按钮,在出现的屏幕上填写身份池的详细信息。

当你完成以上步骤并保存你的身份池后,AWS 将为你创建一个唯一的身份池 ID。现在,我们可以在 Node.js 中使用此 ID 来访问我们的身份池。

认证用户

在获取可以使用以前注册的用户的凭证之前,您首先必须验证用户是否已经注册并已通过 AWS Cognito 身份验证。 下面是一个认证用户的示例代码:

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

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

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

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

在此示例中,我们首先实例化了 CognitoIdentityClient,然后使用 getIdentityId() 方法从身份池中检索用户的身份 ID。在调用方法时,我们传入身份池 ID、身份验证提供程序和用户 ID token。

如果用户已通过身份验证,则 getIdentityId() 将返回用户的身份 ID。否则,该方法将引发错误。

列出身份

我们可以使用 AWS Cognito 身份池 API 的 ListIdentities 方法列出我们的身份池中的所有现有身份。下面是一个列出身份的示例代码:

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

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

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

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

在此示例中,我们首先实例化了 CognitoIdentityClient,然后使用 listIdentities() 方法获取我们身份池中的所有身份。在调用方法时,我们只需要传入身份池 ID。

添加身份

我们可以使用 AWS Cognito 身份池 API 的 CreateIdentityPool 方法创建新的身份。下面是一个添加身份的示例代码:

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

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

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

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

在此示例中,我们首先实例化了 CognitoIdentityClient,然后使用 createIdentityPool() 方法创建新的身份池。在调用方法时,我们传入身份池名称和是否允许未经身份验证身份的身份池。

一旦身份池成功创建,createIdentityPool() 将返回新的身份池 ID。

总结

在本文中,我们已经了解了如何使用 @aws-sdk/client-cognito-identity npm 包直接与 AWS Cognito 服务交互。我们学习了如何创建身份池、认证用户、列出身份和添加身份。希望这篇文章对你有帮助,欢迎在下面的评论区做出回复。

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

纠错
反馈