1.3.7 • Published 4 years ago

aws-cognito-jwt-verifier v1.3.7

Weekly downloads
100
License
ISC
Repository
-
Last release
4 years ago

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

1.3.7

4 years ago

1.3.6

4 years ago

1.3.5

4 years ago

1.3.4

4 years ago

1.3.3

4 years ago

1.3.2

4 years ago

1.3.1

4 years ago

1.3.0

4 years ago

1.2.9

4 years ago

1.2.8

4 years ago

1.2.7

4 years ago

1.2.6

4 years ago

1.2.5

4 years ago

1.2.4

4 years ago

1.2.3

4 years ago

1.2.0

4 years ago

1.2.2

4 years ago

1.2.1

4 years ago

1.1.9

4 years ago

1.1.8

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.0

4 years ago