我的AWS Lambda函数已经可以正常使用Cognito认证用户。
现在我正在尝试让Cognito未认证的用户参与进来。
我无法在后端找到确定调用Lambda函数的当前用户是已验证还是未验证的任何方法。
我所拥有的有关用户的标识信息是他们的Cognito IdentityId,但是如何使用它来判断未经验证的用户呢?
我在Lambda中使用Python boto3.6。
我的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:是的,这是正确的 - 重要的是,在返回值中没有“Logins”键表示用户未经身份验证。
res = client2.describe_identity(
IdentityId=context.identity.cognito_identity_id
)
if ('Logins' not in res.keys()):
return True
else:
return False