Skip to content
This repository has been archived by the owner on Aug 7, 2024. It is now read-only.

francisbrito/fastify-aws-cognito

Repository files navigation

fastify-aws-cognito

Build Status Coverage Status Known vulnerabilities npm version npm downloads

AWS Cognito JWT verification for Fastify.

Install

npm install fastify-aws-cognito  

Or, using yarn:

yarn add fastify-aws-cognito  

Usage

const fastify = require("fastify")();  
  
fastify  
  .register(require("fastify-aws-cognito"), {  
    region: "<region>",  
    userPoolId: "<user pool id>"  
  })  
  .after(error => {  
    if (error) throw error;  
  
    fastify.get("/", { preValidation: [fastify.cognito.verify] }, async request => request.token);  
  })  
  .listen(3000);  

API

plugin(instance, options)

instance

Type: fastify.FastifyInstance
A fastify instance to be decorated. This value will be provided by the framework when calling fastify.register.

options

Type: object

region

Type: string
Required.

Region where user pool was created. e.g: us-east-1.

userPoolId

Type: string
Required.

Id of the AWS Cognito user pool from which the token was generated. e.g: us-east-1_1234abcd

allowedAudiences

Type: string[]
Optional.

A list of JWT Audiences to validate the token. Useful if you'd like to restrict which app clients can access your server.

verifyJtiWith

Type: function Optional.

A function with the signature (jti: string) => Promise<boolean> to be used to check if a given JWT id is valid or not. If not provided, all jti claims will be assumed as valid.

instance.cognito.verify(request)

A fastify handler that will reject any request with an invalid or missing JWT.

Note: This handler returns a Promise and (currently) does not receive a callback.

request

Type: fastify.FastifyRequest Required.

fastify request to be verified.

FastifyRequest.verifyCognito()

Verifies the calling request.

About

AWS Cognito JWT verification for Fastify.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •