AWS API Gateway - 将Cognito用户组转换为自定义授权程序

时间:2017-02-08 16:15:30

标签: amazon-web-services aws-api-gateway amazon-cognito

我正在使用带有用户组的Cognito用户池,并且我有一个带有自定义授权器的AWS API网关。授权者可以生成有效的IAM策略,到目前为止事情进展顺利。我想基于用户组生成更具体的IAM策略,但我无法在授权器中获取用户组信息。我的集成请求映射是:

"groups" : "$context.authorizer.claims['cognito:groups']"

但在授权人中我得到了

"type": "TOKEN", 
"authorizationToken": "...", 
"methodArn": "arn:aws:execute-api:eu-west-1:...:.../test/GET/bills"

如何在授权程序中获取用户组属性?

1 个答案:

答案 0 :(得分:2)

谜题解决了:映射还可以,但它们实际上是一个桥梁"在API网关和lambda之间,他们将信息传递给" target" lambda函数而不是授权者,这是一种"拦截器"在这种情况下。

在授权人中获取用户组的方法是调用

CognitoIdentityServiceProvider.adminListGroupsForUser()

可以正常使用。