【问题标题】:Creating AWS Cognito User Pool from serverless.yml从 serverless.yml 创建 AWS Cognito 用户池
【发布时间】:2019-09-04 03:53:03
【问题描述】:

我正在尝试使用 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" 并更改属性。但是,我不知道要改成什么。

【问题讨论】:

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


    【解决方案1】:

    【讨论】:

    • 这是一个很好的基本示例,但是否有某处所有属性的列表?
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      非常简单直接。

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

      我通常做的是首先创建一个资源文件(例如,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

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-23
      • 2017-12-03
      • 2019-03-15
      • 1970-01-01
      • 2021-08-13
      • 2022-01-13
      • 2018-05-11
      相关资源
      最近更新 更多