从serverless.yml创建AWS Cognito用户池

时间:2019-04-13 16:30:12

标签: amazon-web-services amazon-cognito serverless-framework

我正在尝试使用AWS Cognito用户池进行用户身份验证,但似乎无法弄清楚如何从serverless.yml文件中创建一个。我知道要创建其他资源,您需要执行以下操作:

resources:
  Resources:
    Table:
      Type: "AWS::DynamoDB::Table"  # Change this to "AWS::Cognito::UserPool"?
      DeletionPolicy: Retain
      Properties:                   # Change the properties here, but to what?
        AttributeDefinitions:
          -
            AttributeName: id
            AttributeType: S
        KeySchema:
          -
            AttributeName: id
            KeyType: HASH
        ProvisionedThroughput:
          ReadCapacityUnits: 1
          WriteCapacityUnits: 1
        TableName: arn:aws:dynamodb:us-west-1:*:table/tablename

我假设我只需要将类型更改为"AWS:Cognito::UserPool"并更改属性。但是,我不知道将其更改为什么。

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

对于那些寻求基本示例的人,请参阅@ionut的答案。 AWS::Cognito::UserPool的所有配置都可以在here中找到。对于AWS::Cognito::UserPoolClient,可以找到here

答案 2 :(得分:0)

这非常简单直接。

您要做的就是创建一些资源,然后从模板文件中将其导出。

我通常要做的是首先创建一个资源文件(例如Cognito-user-pool.yml),然后添加必要的资源并在其中导出声明。之后,我将从我的serverless.yml文件($ {file(./ cognito-user-pool.yml)}

中调用资源。

在用户池资源声明中,您需要添加以下内容的定义

  1. CognitoUserPool
  2. 应用客户端
  3. 身份池
  4. 必要的角色附件声明
  5. 通过必要的策略定义角色。
  6. 导出前三个资源:如果您想将Cognitoo用户池与前端连接(可能使用AWS-amplify)
  7. 部署堆栈

在此博客文章中,我详细介绍了步骤,并添加了YouTube视频以解释每个步骤。

博客链接:https://www.codegigs.app/how-to-cognito-user-pool-using-serverless/ 视频链接:https://youtu.be/bv_imx8gfLU