python-3.x - AWS Cognito - 如何确定用户是否未经身份验证?

标签 python-3.x amazon-web-services aws-lambda boto3 amazon-cognito

我的 AWS Lambda 函数可以与经过 Cognito 身份验证的用户一起正常工作。

我现在正在尝试让未经身份验证的 Cognito 用户继续使用。

我在后端找不到任何方法来确定调用 Lambda 函数的当前用户是否已通过身份验证。

我掌握的关于用户的识别信息是他们的 Cognito IdentityId,但我如何使用它来找出未经身份验证的信息?

我在 Lambda 中使用 Python boto3.6。

最佳答案

检查这个 http://boto3.readthedocs.io/en/latest/reference/services/cognito-identity.html#CognitoIdentity.Client.describe_identity

如果它是授权用户,您将获得登录名。从未使用过,但我认为这是了解的方式

编辑: 来自 OP:是的,这是正确的 - 重要的是返回值中缺少 key “登录”意味着用户未经身份验证。

res = client2.describe_identity(
    IdentityId=context.identity.cognito_identity_id
)
if ('Logins' not in res.keys()):
    return True
else:
    return False

关于python-3.x - AWS Cognito - 如何确定用户是否未经身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45580144/

相关文章:

python - 通过 Firestore 触发事件简化 python 中的字典

amazon-web-services - toomanyrequests : You have reached your pull rate limit. 你可以通过认证和升级来增加限制

python - 如何使用 aws_cdk 将资源参数从一个堆栈传递到另一个堆栈

java - AWS Lambda - Java 静态初始化

python - 如何从较大的字符串中减去已知的子字符串

python - 'is' 运算符对 float 的表现出乎意料

amazon-web-services - Lambda API 结果作为在 Cloud Formation 中创建 AWS 资源的条件

java - 与cognito用户池集成后如何访问AWS API

python - CSV 数据到 Numpy 结构化数组?

amazon-web-services - 从 AWS ECS Fargate 访问 AWS RDS 的最佳方式