@stokr/utils
Version:
STOKR - Utils
33 lines (29 loc) • 837 B
JavaScript
import jwt from "jsonwebtoken";
import secrets from "./secret.js";
// http://travistidwell.com/blog/2013/09/06/an-online-rsa-public-and-private-key-generator/
// use 'utf8' to get string instead of byte array (1024 bit key)
var publicKEY = secrets.get("internal_api_gateway_public_0"); // to verify JWT
export default {
verify: (token, options) => {
/*
vOption = {
issuer: "Authorization/Resource/This server",
subject: "iam@user.me",
audience: "Client_Identity" // this should be provided by client
}
*/
var verifyOptions = {
...options,
expiresIn: "30d",
algorithm: ["RS256"],
};
try {
return jwt.verify(token, publicKEY, verifyOptions);
} catch (_) {
return false;
}
},
decode: (token) => {
return jwt.decode(token, { complete: true });
},
};