【问题标题】:Serverless authorizer as AWS user pool无服务器授权者作为 AWS 用户池
【发布时间】:2019-06-26 21:30:40
【问题描述】:

我正在尝试将服务端点上的访问限制为特定用户池(即管理员)。

根据我对文档 (https://serverless.com/framework/docs/providers/aws/events/apigateway/) 的理解,这应该可以通过设置来实现

get:
  handler: functions/get.main
  events:
    - http:
        path: /
        method: get
        cors: true
        authorizer: "arn:aws:cognito-idp:eu-west-2:####:userpool/eu-west-2_xET8A8Kui"

部署良好并在此端点的 API 网关中正确显示

问题是通过 AWS Amplify(React 集成)对 API 的任何调用都会导致 401 错误!如果我把授权人放回aws_iam 它工作正常。

我什至可以从哪里开始调试呢?我找不到任何具体的日志或失败的原因。

【问题讨论】:

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


    【解决方案1】:

    您的设置应该如何工作(我有这个工作 - 只是一个用户池)。

    您需要在 Authorization 标头中传递您从 Amplify auth 调用中收到的 idToken

    Authorization: Bearer eyJraWQiOiJ4T2NLWG5GakljWE...
    

    确保使用 idToken,而不是 accessToken。

    【讨论】:

      【解决方案2】:

      上次我检查放大只支持 IAM 身份验证而不是用户池身份验证。您可以将身份池与您的用户池一起使用,并且仍然通过您的用户池使用 IAM。

      【讨论】:

        猜你喜欢
        • 2017-05-30
        • 2018-11-19
        • 2020-03-16
        • 2020-08-21
        • 2019-05-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-27
        • 2023-01-29
        相关资源
        最近更新 更多