Class RequestAuthorizer

java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
software.amazon.awscdk.Resource
software.amazon.awscdk.services.apigateway.Authorizer
software.amazon.awscdk.services.apigateway.RequestAuthorizer
All Implemented Interfaces:
IResource, IAuthorizer, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.104.0 (build e79254c)", date="2024-12-11T23:26:27.990Z") @Stability(Stable) public class RequestAuthorizer extends Authorizer implements IAuthorizer
Request-based lambda authorizer that recognizes the caller's identity via request parameters, such as headers, paths, query strings, stage variables, or context variables.

Based on the request, authorization is performed by a lambda function.

Example:

 Function authFn;
 Resource books;
 RequestAuthorizer auth = RequestAuthorizer.Builder.create(this, "booksAuthorizer")
         .handler(authFn)
         .identitySources(List.of(IdentitySource.header("Authorization")))
         .build();
 books.addMethod("GET", new HttpIntegration("http://amazon.com"), MethodOptions.builder()
         .authorizer(auth)
         .build());
 
  • Constructor Details

    • RequestAuthorizer

      protected RequestAuthorizer(software.amazon.jsii.JsiiObjectRef objRef)
    • RequestAuthorizer

      protected RequestAuthorizer(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • RequestAuthorizer

      @Stability(Stable) public RequestAuthorizer(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull RequestAuthorizerProps props)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      props - This parameter is required.
  • Method Details

    • lazyRestApiId

      @Stability(Stable) @NotNull protected String lazyRestApiId()
      Returns a token that resolves to the Rest Api Id at the time of synthesis.

      Throws an error, during token resolution, if no RestApi is attached to this authorizer.

    • setupPermissions

      @Stability(Stable) protected void setupPermissions()
      Sets up the permissions necessary for the API Gateway service to invoke the Lambda function.
    • getAuthorizerArn

      @Stability(Stable) @NotNull public String getAuthorizerArn()
      The ARN of the authorizer to be used in permission policies, such as IAM and resource-based grants.
    • getAuthorizerId

      @Stability(Stable) @NotNull public String getAuthorizerId()
      The id of the authorizer.
      Specified by:
      getAuthorizerId in interface IAuthorizer
      Specified by:
      getAuthorizerId in class Authorizer
    • getAuthorizerProps

      @Stability(Stable) @NotNull protected CfnAuthorizerProps getAuthorizerProps()
    • getHandler

      @Stability(Stable) @NotNull protected IFunction getHandler()
      The Lambda function handler that this authorizer uses.
    • getRole

      @Stability(Stable) @Nullable protected IRole getRole()
      The IAM role that the API Gateway service assumes while invoking the Lambda function.
    • getRestApiId

      @Stability(Stable) @Nullable protected String getRestApiId()
    • setRestApiId

      @Stability(Stable) protected void setRestApiId(@Nullable String value)