使用python登录AWS Cognito并获得令牌,就像人类用户一样

使用python登录AWS Cognito并获得令牌,就像人类用户一样,python,amazon-web-services,boto3,amazon-cognito,Python,Amazon Web Services,Boto3,Amazon Cognito,我在AWS Cognito中创建了一个用户池,可以从浏览器登录。 我使用此登录名通过api网关调用lambda函数来创建帖子。 我可以使用令牌在lambda本身中识别用户,这非常方便,如下所示: def lambda_handler(event, context): dynamodb = boto3.resource('dynamodb', region_name="us-east-1") table = dynamodb.Table("posts&

我在AWS Cognito中创建了一个用户池,可以从浏览器登录。
我使用此登录名通过api网关调用lambda函数来创建帖子。
我可以使用令牌在lambda本身中识别用户,这非常方便,如下所示:

def lambda_handler(event, context):
    dynamodb = boto3.resource('dynamodb', region_name="us-east-1")
    table = dynamodb.Table("posts")
    response = table.put_item(Item={
        "added_by": jwt.decode(event["headers"]["Authorization"], verify=False)['cognito:username'],
        "content": event["body"]["content"]
    })
    return {
        'statusCode': 200,
        'body': response
    }
我想通过一个python程序使用相同的lambda函数,该程序也将发布,使用来自同一用户池的标识(用户名类似于“python_bot”)

有没有办法使用用户名+密码登录Cognito用户池,并使用python获取访问令牌?我在boto3中找不到这样的东西。

你想要的是应用程序客户端,而不是用户:

谢谢,这给了我一个很好的指导。我在这里找到了一个很好的解释和例子: