我正在创建一个 lambda 授权者。
我想检查用户是否存在于我的认知用户池中,然后检查我无法使用普通认知授权者执行的其他一些操作。
以下代码片段会产生错误:
NotAuthorizedException:发生错误(NotAuthorizedException) 调用 GetUser 操作时:无效的访问令牌
cognito_client = boto3.client('cognito-idp')
def lambda_handler(event, context):
print(event)
response = cognito_client.get_user(
AccessToken=event["authorizationToken"]
)
我正在通过登录 cognito 时得到的
id_token
来测试它,就像测试普通的 cognito autozizer 一样。
问题不在于
id_token
我必须传递给 lambda autozizer 的令牌吗?
这不是
event["authorizationToken"]
我应该传递给 get_user 的令牌吗?
如何从事件中获取必须传递给 get_user 的令牌?
登录用户应在登录期间添加以下范围“aws.cognito.signin.user.admin”才能使用此方法。如果您有访问令牌,您可以解码令牌并从该令牌获取相同的用户详细信息值。