Amazon web services 无服务器-将授权类型设置为自定义或COGNITO_用户_池需要有效的授权者

Amazon web services 无服务器-将授权类型设置为自定义或COGNITO_用户_池需要有效的授权者,amazon-web-services,aws-api-gateway,serverless,Amazon Web Services,Aws Api Gateway,Serverless,在API网关端点上附加自定义授权程序时出现问题。以下是我的场景步骤: 创建自定义授权程序(使用lambda函数) 创建集成类型为HTTP的新端点 将AuthorizationType设置为自定义 如何在无服务器yaml上附加自定义授权人 我尝试使用AuthorizerId,出现错误“ProxyMethod-指定的授权者ID无效。将授权类型设置为自定义或COGNITO_用户_池需要有效的授权者。” 我在上面的场景中没有找到示例代码 我试着跟着。它解释了如何使用AuthorizerId,但不确定s

在API网关端点上附加自定义授权程序时出现问题。以下是我的场景步骤:

  • 创建自定义授权程序(使用lambda函数)
  • 创建集成类型为HTTP的新端点
  • 将AuthorizationType设置为自定义
  • 如何在无服务器yaml上附加自定义授权人

    • 我尝试使用AuthorizerId,出现错误“ProxyMethod-指定的授权者ID无效。将授权类型设置为自定义或COGNITO_用户_池需要有效的授权者。”
    • 我在上面的场景中没有找到示例代码
    • 我试着跟着。它解释了如何使用AuthorizerId,但不确定serverless是否支持它
    有人能帮我吗


    您应该首先创建授权人。您将获得一个可用于配置的授权者id

    Resources:
        authorizer:
          Type: AWS::ApiGateway::Authorizer
          Properties: 
            AuthorizerResultTtlInSeconds: 0
            AuthorizerUri: !Join
              - ''
              - - 'arn:aws:apigateway:'
                - '{region}'
                - ':lambda:path/2015-03-31/functions/'
                - 'arn:aws:lambda:{region}:'
                - Ref: AWS::AccountId
                - ':function:customAuthorizer'
                - '/invocations'
            Name: authorizer
            RestApiId: {restApiId}
      
    
    Outputs:
        authorizerId:
          Description: "API Gateway Auth Id"
          Value: !Ref authorizer
          Export:
            Name: !Join
              - '-'
              - - !Ref AWS::StackName
                - AuthorizerId