gpt4 book ai didi

aws-api-gateway - 在 API 网关路径中引用授权者定义

转载 作者:行者123 更新时间:2023-12-04 13:47:35 25 4
gpt4 key购买 nike

我在我的 cloudformation 模板中定义了自定义授权者:

MyCustomAuthorizer:
Type: AWS::ApiGateway::Authorizer
Properties:
Name: "MyCustomAuthorizer"
Type: "TOKEN"
AuthorizerUri: "arn:my_lambda"
IdentitySource: "method.request.header.Auth"
RestApiId:
Ref: ApiGatewayApi

我有一个 Api Gateway API:

  ApiGatewayApi:
Type: AWS::ApiGateway::RestApi
Properties:
Name: "ApiGatewayApi"
Description: "Api gateway REST API"
Body:
basePath: "/prod"
schemes:
- "https"
paths:
/echo:
get:
consumes:
- "application/json"
produces:
- "application/json"
responses:
"200":
description: "200 response"
schema:
$ref: "#/definitions/schema"
security:
- sigv4: []

如何专门使用 /echo 路径使用 MyCustomAuthorizer

我可以使用说明 here 在控制台上执行此操作

最佳答案

该文档有 example 。您需要在方法内的'security'属性中添加自定义授权者

  "securityDefinitions" : {
"test-authorizer" : {
"type" : "apiKey", // Required and the value must be "apiKey" for an API Gateway API.
"name" : "Authorization", // The source header name identifying this authorizer.
"in" : "header", // Required and the value must be "header" for an AAPI Gateway API.
"x-amazon-apigateway-authtype" : "oauth2", // Specifies the authorization mechanism for the client.
"x-amazon-apigateway-authorizer" : { // An API Gateway custom authorizer definition
"type" : "token", // Required property and the value must "token"
"authorizerUri" : "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:account-id:function:function-name/invocations",
"authorizerCredentials" : "arn:aws:iam::account-id:role",
"identityValidationExpression" : "^x-[a-z]+",
"authorizerResultTtlInSeconds" : 60
}
}
}


"/http" : {
"get" : {
"responses" : { },
"security" : [ {
"test-authorizer" : [ ]
} ],
"x-amazon-apigateway-integration" : {
"type" : "http",
"responses" : {
"default" : {
"statusCode" : "200"
}
},
"httpMethod" : "GET",
"uri" : "http://api.example.com"
}
}
}

关于aws-api-gateway - 在 API 网关路径中引用授权者定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42858424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com