aws-cognito-jwt-verifier
v1.3.7
Published
AWS Cognito JWT Verifier is a Typescript library that will help to secure your application by checking if your JWT token is valid.
Downloads
316
Maintainers
Readme
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.