前言
在如今云计算越来越发展的时代,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,您可以完成以下功能:
- 用户注册和登录
- 登录保护您的 API
- 实现社交网络登录
- 邀请用户
- TODO
serverless-plugin-userpool
serverless-plugin-userpool 是一款 serverless 实现对 User Pool 进行快速部署(deploy)和管理(delete)的 npm 包。而且,它依赖两个核心组件:
- serverless - Serverless Framework 能够帮助我们可以更加方便的快速迭代我们的 Serverless 应用。
- 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 模块的使用
- 创建一个 AWS Lambda 的函数,并添加
NODE_MODULES
作为 Env 以便在函数中使用 node_modules(选做)。 - 在 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