LambdaTokenAuthorizer
Configure a Lambda Authorizer to control access to your API with a Lambda function.
For more information and examples, see Control API access with your AWS SAM template.
Syntax
To declare this entity in your AWS Serverless Application Model (AWS SAM) template, use the following syntax.
YAML
DisableFunctionDefaultPermissions:
Boolean
FunctionArn:String
FunctionInvokeRole:String
FunctionPayloadType:String
Identity:LambdaTokenAuthorizationIdentity
Properties
-
Specify
true
to prevent AWS SAM from automatically creating anAWS::Lambda::Permissions
resource to provision permissions between yourAWS::Serverless::Api
resource and authorizer Lambda function.Default value:
false
Type: Boolean
Required: No
AWS CloudFormation compatibility: This property is unique to AWS SAM and doesn't have an AWS CloudFormation equivalent.
-
Specify the function ARN of the Lambda function which provides authorization for the API.
Note
AWS SAM will automatically create an
AWS::Lambda::Permissions
resource whenFunctionArn
is specified forAWS::Serverless::Api
. TheAWS::Lambda::Permissions
resource provisions permissions between your API and authorizer Lambda function.Type: String
Required: Yes
AWS CloudFormation compatibility: This property is unique to AWS SAM and doesn't have an AWS CloudFormation equivalent.
-
Adds authorizer credentials to the OpenApi definition of the Lambda authorizer.
Type: String
Required: No
AWS CloudFormation compatibility: This property is unique to AWS SAM and doesn't have an AWS CloudFormation equivalent.
-
This property can be used to define the type of Lambda Authorizer for an Api.
Valid values:
TOKEN
orREQUEST
Type: String
Required: No
Default:
TOKEN
AWS CloudFormation compatibility: This property is unique to AWS SAM and doesn't have an AWS CloudFormation equivalent.
-
This property can be used to specify an
IdentitySource
in an incoming request for an authorizer. This property is only required if theFunctionPayloadType
property is set toREQUEST
.Type: LambdaTokenAuthorizationIdentity
Required: Conditional
AWS CloudFormation compatibility: This property is unique to AWS SAM and doesn't have an AWS CloudFormation equivalent.
Examples
LambdaTokenAuth
YAML
Authorizers: MyLambdaTokenAuth: FunctionArn: Fn::GetAtt: - MyAuthFunction - Arn Identity: Header: MyCustomAuthHeader # OPTIONAL; Default: 'Authorization' ValidationExpression: mycustomauthexpression # OPTIONAL ReauthorizeEvery: 20 # OPTIONAL; Service Default: 300
BasicLambdaTokenAuth
YAML
Authorizers: MyLambdaTokenAuth: FunctionArn: Fn::GetAtt: - MyAuthFunction - Arn