首页 > 解决方案 > 使用 python 登录 AWS Cognito 并获取令牌,就像人类用户一样

问题描述

我在 AWS Cognito 中创建了一个用户池,并且能够从浏览器登录。
我使用此登录名通过 api-gateway 调用 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 中找到任何可以做到这一点的东西。

标签: pythonamazon-web-servicesboto3amazon-cognito

解决方案



推荐阅读