【问题标题】:How to pass cognito authentication token in the headers through api gateway to a lambda function如何通过api网关将标头中的cognito身份验证令牌传递给lambda函数
【发布时间】:2021-05-14 23:26:08
【问题描述】:

我正在做一个全栈项目。我使用 AWS cognito 进行身份验证部分。 在我的前端,我可以成功获取 idToken 并将其放入方法标头中。 下面是get方法代码:

          Axios.get(`url`, {
                headers: {
                    'Authorization': Token
                }
            })

在后端,我使用 AWS api 网关和 lambda。据我了解,如果我想在 lamdba 中获取令牌,我必须在 APIgateway 的集成请求中设置映射模板。 所以这是我写的,但我无法获得idToken。 有谁知道获取idToken的正确方法吗?

{
  
  "idToken":"$context.authorizer.claims.authorization"
}

【问题讨论】:

    标签: authorization aws-api-gateway amazon-cognito


    【解决方案1】:

    我自己结束了这个问题。 经过我的搜索,如果你使用AWS Auth cognit,并且想要获取token中的属性,请参考这个文档:

    idToken 负载 https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-with-identity-providers.html api网关映射模板: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference.

    例如:如果你想从 id 令牌中获取用户名,在映射模板上,它应该是:

    {
        "userName" : "$context.authorizer.claims['cognito:username']"
    }
    

    【讨论】:

      猜你喜欢
      • 2021-08-17
      • 2016-01-30
      • 1970-01-01
      • 2021-04-13
      • 2016-10-01
      • 2020-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多