【问题标题】:AWS API Gateway - get Cognito user groups to custom authorizerAWS API Gateway - 将 Cognito 用户组获取到自定义授权方
【发布时间】:2017-06-26 08:57:32
【问题描述】:

我正在使用带有用户组的 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"

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

【问题讨论】:

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


    【解决方案1】:

    谜题解决了:映射没问题,但它们实际上是 API 网关和 lambda 之间的“桥梁”,因此它们将信息传递给“目标”lambda 函数而不是授权方,这是一种排序在这种情况下是“拦截器”。

    在授权者中获取用户组的方式是调用

    CognitoIdentityServiceProvider.adminListGroupsForUser()

    这很适合这个目的。

    【讨论】:

    • 从哪里调用?在授权人中?
    • @AaronMcMillin 是的,我在授权人中称之为。
    • 你是如何让 Cognito 用户名在 authorizer.js 内调用 adminListGroupsForUser() 的?
    • @Ohsik 用户名(如果是令牌有效负载的一部分)。
    猜你喜欢
    • 2017-08-23
    • 1970-01-01
    • 2020-12-23
    • 2016-11-30
    • 2019-03-04
    • 2018-04-17
    • 2017-03-12
    • 2021-08-05
    • 2020-05-28
    相关资源
    最近更新 更多