Propriedade x-amazon-apigateway-authtype - Amazon API Gateway

Propriedade x-amazon-apigateway-authtype

Para APIs REST, essa extensão pode ser usada para definir um tipo personalizado de um autorizador do Lambda. Nesse caso, o valor é de formato livre. Por exemplo, uma API pode ter vários autorizadores do Lambda que usam esquemas internos diferentes. Você pode usar essa extensão para identificar o esquema interno de um autorizador do Lambda.

Mais comumente, em APIs HTTP e APIs REST, ele também pode ser usado como uma maneira de definir a autorização do IAM em várias operações que compartilham o mesmo esquema de segurança. Neste caso, o termo awsSigv4 é um termo reservado, juntamente com qualquer termo prefixado por aws.

Esta extensão se aplica ao esquema apiKey de segurança de tipo no OpenAPI 2 e OpenAPI 3.

Exemplo de x-amazon-apigateway-authtype

O exemplo do OpenAPI 3 a seguir define a autorização do IAM em vários recursos em uma API REST ou API HTTP:

{ "openapi" : "3.0.1", "info" : { "title" : "openapi3", "version" : "1.0" }, "paths" : { "/operation1" : { "get" : { "responses" : { "default" : { "description" : "Default response" } }, "security" : [ { "sigv4Reference" : [ ] } ] } }, "/operation2" : { "get" : { "responses" : { "default" : { "description" : "Default response" } }, "security" : [ { "sigv4Reference" : [ ] } ] } } }, "components" : { "securitySchemes" : { "sigv4Reference" : { "type" : "apiKey", "name" : "Authorization", "in" : "header", "x-amazon-apigateway-authtype": "awsSigv4" } } } }

O exemplo do OpenAPI 3 a seguir define um autorizador do Lambda com um esquema personalizado para uma API REST:

{ "openapi" : "3.0.1", "info" : { "title" : "openapi3 for REST API", "version" : "1.0" }, "paths" : { "/protected-by-lambda-authorizer" : { "get" : { "responses" : { "200" : { "description" : "Default response" } }, "security" : [ { "myAuthorizer" : [ ] } ] } } }, "components" : { "securitySchemes" : { "myAuthorizer" : { "type" : "apiKey", "name" : "Authorization", "in" : "header", "x-amazon-apigateway-authorizer" : { "identitySource" : "method.request.header.Authorization", "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", "authorizerResultTtlInSeconds" : 300, "type" : "request", "enableSimpleResponses" : false }, "x-amazon-apigateway-authtype": "Custom scheme with corporate claims" } } }, "x-amazon-apigateway-importexport-version" : "1.0" }

Consulte também

authorizer.authType