AWS Cognito JWT Auth Policy

Authenticate requests with JWT tokens issued by AWS Cognito. This is a customized version of the OpenId JWT Policy specifically for AWS Cognito.

See this document for more information about OAuth authorization in Zuplo.


The configuration shows how to configure the policy in the 'policies.json' document.

{ "name": "my-cognito-jwt-auth-inbound-policy", "policyType": "cognito-jwt-auth-inbound", "handler": { "export": "CognitoJwtInboundPolicy", "module": "$import(@zuplo/runtime)", "options": { "allowUnauthenticatedRequests": false, "region": "us-east-1", "userPoolId": "$env(AWS_COGNITO_USER_POOL_ID)" } } }

Policy Configuration

  • name <string> - The name of your policy instance. This is used as a reference in your routes.
  • policyType <string> - The identifier of the policy. This is used by the Zuplo UI. Value should be cognito-jwt-auth-inbound.
  • handler.export <string> - The name of the exported type. Value should be CognitoJwtInboundPolicy.
  • handler.module <string> - The module containing the policy. Value should be $import(@zuplo/runtime).
  • handler.options <object> - The options for this policy. See Policy Options below.

Policy Options

The options for this policy are specified below. All properties are optional unless specifically marked as required.

  • allowUnauthenticatedRequests <boolean> -
    Allow unauthenticated requests to proceed. This is use useful if you want to use multiple authentication policies or if you want to allow both authenticated and non-authenticated traffic.
    Defaults to false.
  • region <string> (Required) -
    The AWS region where your Cognito instance is deployed.
  • userPoolId <string> (Required) -
    The user pool identifier.

Using the Policy

Read more about how policies work

Clerk JWT Auth