aws-cognito-jwt-verifier
TypeScript icon, indicating that this package has built-in type declarations

1.3.7 • Public • Published

AWS Cognito JWT Verifier (TypeScript)

AWS Cognito JWT Verifier is a Typescript library that will help to secure your application by checking if your JWT token is valid.

This library will check if your cognito JWT Token is:

  • Invalid Token
  • Expired Token
  • Invalid Publickey

NOTE:

Supported :

  • NodeJS (TypeScript)
    
  • Angular (TypeScript)
    
  • TypeScript
    

**Not Supported **: These libraries below are not supported yet;

  •  ReactJS ** [not supported]**
    
  •  VueJS     **[not supported]**
    

Installation

Use the NPM to install AWS Cognito JWT Verifier.

npm i aws-cognito-jwt-verifier --save

Required Parameters

  • Token - Your aws cognito generated token.
  • Region - Your aws region where you cognito user pool residing.
  • UserPoolID - Your aws cognito user pool id.

Usage

_TypeScript Code _

import {CognitoJwtVerifier} from 'aws-cognito-jwt-verifier';
 
const verify = new CognitoJwtVerifier();
 
async function verifyToken{
  return await verify.checkJwt('<cognitoJwtToken>', '<region>', '<userPool>');
}
 
verifyToken();

NodeJS

var awsCognitoVerifier = require("aws-cognito-jwt-verifier");
var verify = new awsCognitoVerifier.CognitoJwtVerifier();
var result = verify.checkJwt("<token>", "<region>", "<userPoolID>");
 
result
  .then((res) => {
    console.log(res); //json string result
  })
  .catch((err) => {
    console.log(err);
  });

Results

If the token is valid, this will be the return, it is a json string, so you need to parse the result from your end to make this data more readable and usable.

SUCCESS I am sure this is what you need?

{
  "status": true,
  "code": 200,
  "message": "Congrats! Your token is valid",
  "data": {
    "sub": "0f5c033b-bd32-44d2-a91a-b552ef17c3c2",
    "cognito:groups": ["Group1", "Group2"],
    "event_id": "e14169b1-284d-404f-8a95-717d9ae7d07e",
    "token_use": "access",
    "scope": "aws.cognito.signin.user.admin",
    "auth_time": 1587560894,
    "iss": "https://cognito-idp.ap-southeast-1.amazonaws.com/ap-southeast-xxx",
    "exp": 1587564494,
    "iat": 1587560894,
    "jti": "b7024e23-da89-4898-ba62-c6dd53b389bd",
    "client_id": "xxxxxx",
    "username": "0f5c033b-bd32-44d2-a91a-b552ef17c3c2"
  }
}

FAIL

{
  "status": false,
  "code": 401,
  "message": "TokenExpiredError"
}

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT

Package Sidebar

Install

npm i aws-cognito-jwt-verifier

Weekly Downloads

159

Version

1.3.7

License

ISC

Unpacked Size

13 kB

Total Files

8

Last publish

Collaborators

  • marjungeek