【问题标题】:AWS Cognito, AWS APIGateway & credentials in PythonAWS Cognito、AWS APIGateway 和 Python 中的凭证
【发布时间】:2021-09-05 03:17:05
【问题描述】:

我想执行一些我认为很常见的事情,因此应该很简单:使用 Python 获取针对 Cognito 身份验证的凭据,然后能够调用 APIGateway 方法。

我已经使用 AWS SAM 模型创建了所有资源。我可以成功看到 Cognito 用户池、其 ID、Cognito 应用程序客户端以及用户。我什至可以使用 cURL 进行身份验证。

但是,我无法在 Python 中复制相同的步骤:

import boto3
import requests

region = 'eu-west-1'
cognito = boto3.client('cognito-identity', region)

accountId= 'xxxxxxxxxxxx' # 12 digits AWS account

poolId = 'something'
cognito .get_id(AccountId=accountId,IdentityPoolId=poolId)

我对@9​​87654322@ 有疑问,因为我收到了异常:

´´´蟒蛇 成员必须满足正则表达式模式:[\w-]+:[0-9a-f-]+ '''

但我在 AWS 控制台上看到的 poolIdeu-west-1:XXXXXXXXX 格式,而它应该是 eu-west-1:xxx-xxx-xxx-xxxx-xxxx 格式。但是,我在控制台的任何地方都找不到具有该格式的值。

感谢任何帮助。

【问题讨论】:

    标签: python amazon-web-services boto3 amazon-cognito


    【解决方案1】:

    您将用户池与身份池混淆了。要生成临时 IAM 凭证,您需要创建一个身份池并将您的用户池和应用程序客户端添加到身份验证提供程序下。

    如果您在用户池中使用组,还请选择从令牌中选择角色。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-25
      • 2018-03-28
      • 2016-05-10
      • 2018-03-23
      • 2020-04-12
      • 2019-09-15
      • 2021-01-20
      • 2019-11-29
      相关资源
      最近更新 更多