npm 包 serverless-plugin-userpool 使用教程

前言

在如今云计算越来越发展的时代,Serverless 技术以其极大的灵活性和高可扩展性备受青睐,而 AWS Serverless 服务则以其高度的自动化和可扩展性成为了 Serverless 的首选。 本文将介绍一款可以帮助您简易快速的搭建 AWS Cognito User Pool 的 npm 包:serverless-plugin-userpool 。这款插件将可以是您的 Serverless 开发过程更加顺利和自然。

Cognito User Pool 简介

Cognito User Pool 是 AWS 提供的 User Authentication 服务,它可以帮助我们方便快捷的搭建一个用户认证和管理服务。通过 Cognito User Pool,您可以完成以下功能:

  1. 用户注册和登录
  2. 登录保护您的 API
  3. 实现社交网络登录
  4. 邀请用户
  5. TODO

serverless-plugin-userpool

serverless-plugin-userpool 是一款 serverless 实现对 User Pool 进行快速部署(deploy)和管理(delete)的 npm 包。而且,它依赖两个核心组件:

  1. serverless - Serverless Framework 能够帮助我们可以更加方便的快速迭代我们的 Serverless 应用。
  2. aws-sdk - AWS Serverless 函数必备包,以此您可以初始化您的 AWS SDK。

安装 serverless-plugin-userpool 到您的项目中(要求已经安装了 serverless ):

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

配置

  • providers.aws.region:AWS 区域。
  • custom.userpool:配置和创建您的 UserPool。
-------- --------------------------

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

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

在配置 userpool 下,我们定义了 poolName、passwordPolicy 和 schemas。可以根据实际需要配置相关参数。

部署

配置成功后,使用 serverless 提供的命令 deploy 指令及 --stage(您的环境:如 dev、prod)和 --region(您的亚马逊区域)来进行部署您的 UserPool:

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

成功部署之后,您就可以拷贝 Cognito User Pool 的 ID 和 Client ID 来使用这个 UserPool 了。

一些可供选择的命令:

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

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

使用 User Pool

接下来我们将演示如何在 Lambda 函数中使用 AWS Cognito User Pool 以及 node-cognito 模块的使用

  1. 创建一个 AWS Lambda 的函数,并添加 NODE_MODULES 作为 Env 以便在函数中使用 node_modules(选做)。
  2. 在 node-cognito 中初始化 UserPool,使用 previously created 的 Cognito User Pool ID 和 Client ID.
------ - -- --------------------- ---- -----------------------------

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

----- -------- - --- ------------------------------------------------
  • 注册用户
------ -------- ------------- -------- --------- -
  ----- - ------ -------- - - -----------------------

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

  ---------------------- --------- ----------------- ----- ----- ------- -- -
    -- ----- -
      ------------------- -------- -----
      ------ --------------
    -
    ------------------------ ---------------------------
    ---------------------- --------
    ------ -------------- -
      ----------- ----
      ----- -----------------------
    ---
  ---
-
  • 登入用户
------ -------- ------------- -------- --------- -
  ----- - ------ -------- - - -----------------------

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

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

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

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

至此,您已经了解了如何快速通过 serverless-plugin-userpool 包部署和利用 AWS Cognito User Pool。相信这款插件将更加深入和方便的帮助您的 Serverless 开发过程中对 UserPool 的部署过程,以及它的使用会为 Serverless 开发者提供一个简单生产力工具。

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


猜你喜欢

  • npm 包 translate-api-tmp 使用教程

    在前端开发中,经常需要将网站或应用程序翻译成多种语言以便面向国际市场。为了方便实现翻译功能,我们可以使用 npm 包 translate-api-tmp。本文将详细介绍该工具的使用方法,包括安装、配置...

    2 年前
  • npm 包 alb3rt-tracking 使用教程

    简介 npm 包 alb3rt-tracking 是一个基于 JavaScript 的工具,用于向网站或应用程序中集成用户行为跟踪和分析功能。它可以帮助你收集用户访问数据,例如页面浏览量、点击量、会话...

    2 年前
  • npm 包 tgz-modify 使用教程

    在前端开发中,我们常常会需要使用一些第三方依赖或者开源库。npm 是常用的前端包管理工具之一,它可以方便地下载和安装需要用到的依赖包。有时候,我们需要对依赖包进行修改或者调整,这时候 tgz-modi...

    2 年前
  • npm 包 inviscss 使用教程

    前言 随着前端技术的不断发展,构建工具、框架和库的使用越来越普遍,NPM 成了我们必不可少的一个工具。在这些工具中,less、sass、stylus 是比较常见的 CSS 预处理语言,它们的存在使得我...

    2 年前
  • npm 包 inviscss-clean-pale 使用教程

    什么是 inviscss-clean-pale inviscss-clean-pale 是一个帮助前端开发者清除 CSS 文件中无用 CSS 代码的 npm 包。它可以帮助你优化你的 CSS 文件,从...

    2 年前
  • npm 包 trailpack-wetland 使用教程

    本文将为大家介绍一个非常实用的 npm 包——trailpack-wetland,它是一个为 sails.js 应用提供实用 ORM 功能的 trailpack。在本文中,我们将详细介绍该包的使用方法...

    2 年前
  • npm 包 inviscss-clean-dark 使用教程

    什么是 inviscss-clean-dark? inviscss-clean-dark 是一个可以帮助前端开发者快速在项目中引入干净、简洁、易于维护的暗色主题 CSS 样式的 npm 包。

    2 年前
  • npm 包 inviscss-office-blue 使用教程

    在前端开发中,经常需要使用 CSS 样式来美化页面用户界面。为了提高效率,开发者通常会使用一些 CSS 库和框架来简化样式的开发工作。其中,npm 包 inviscss-office-blue 是一套...

    2 年前
  • npm 包 bragg-cron 使用教程

    前言 在前端开发中,我们经常需要定时执行一些任务,比如轮询 API,定时发送邮件,统计数据等等。这些任务的实现通常会使用一些定时任务管理工具,如 cron,node-cron 等。

    2 年前
  • npm 包 dojo-loader-for-webpack 使用教程

    介绍 在前端开发中,随着项目的复杂度提升,对于 JavaScript 模块化的需求也越来越强烈。而使用 webpack 进行打包构建也成为了当下前端开发的主流之一。

    2 年前
  • npm 包 karma-awesome-reporter 使用教程

    简介 karma-awesome-reporter 是一个 Karma 报告器插件,可以为 Karma 测试结果生成漂亮的 HTML 报告。该插件基于 mocha-awesome-reporter 并...

    2 年前
  • npm 包 pretty-easy-data-types 使用教程

    前言 在前端开发中,我们需要处理各种数据类型。为了方便开发,我们可以使用 npm 包 pretty-easy-data-types 来处理不同的数据类型。本文将介绍如何使用 pretty-easy-d...

    2 年前
  • npm 包 node-command-line-option 使用教程

    node-command-line-option 是一个可以方便地解析命令行参数的 npm 包。在前端开发中,我们可能需要在终端执行一些脚本或者工具,带参数的命令行参数在这种情况下就显得尤为重要。

    2 年前
  • npm 包 wetland-generator-skeleton 使用教程

    介绍 wetland-generator-skeleton 是一个在 wetland ORM 的基础上搭建的前端项目脚手架生成器,旨在为前端项目的快速开发提供方便快捷的工具支持。

    2 年前
  • npm 包 @shotzoom/redux-tracking 使用教程

    在现代的前端开发中,使用 redux 来统一管理应用程序状态成为了普遍的做法。redux 提供了强大的状态管理机制,但是往往需要我们手动管理数据的流动。在这个过程中,我们需要进行流程跟踪、统计和分析,...

    2 年前
  • npm 包 aurelia-virtual-scroller 使用教程

    在前端开发中,我们常常需要处理大量数据展示的问题。当数据量超出一定规模时,如何高效地渲染数据并不影响页面性能成为了我们需要解决的难题。本文将介绍一个 npm 包 aurelia-virtual-scr...

    2 年前
  • npm 包 vue-authorize 使用教程

    Vue.js 是当前最流行的前端框架之一。开发者在使用 Vue.js 进行项目开发的过程中,很有可能需要进行权限管理,这时候就需要使用一个好用的 npm 包进行支持。

    2 年前
  • npm 包 ng-devtools 使用教程

    随着 Web 技术的不断发展,前端开发变得越来越复杂,项目的规模也越来越大。因此,在开发过程中,我们需要使用工具来提高开发效率和质量。ng-devtools 就是这样一款方便实用的 npm 包,它可以...

    2 年前
  • npm 包 inviscss-nature 使用教程

    什么是 inviscss-nature inviscss-nature 是一个用于处理自然风格样式的 npm 包,旨在帮助开发者更加轻松地处理自然风格的页面样式。它可以帮助你以一种更加直观的方式编写样...

    2 年前
  • npm 包 inviscss-strappy 使用教程

    简介 inviscss-strappy 是一款基于 CSS 的工具库,通过在 HTML 元素上添加 class,快速实现丰富的样式效果,极大地提高前端开发效率,减少代码量。

    2 年前

相关推荐

    暂无文章