UNPKG

kyodo.dorks

Version:

TypeScript API wrapper for Kyodo: Communities & Chats

37 lines (36 loc) 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.tokenHasExpired = exports.generateXSig = exports.generateXSignature = exports.generateRandomValue = void 0; const jsonwebtoken_1 = require("jsonwebtoken"); const crypto_1 = require("crypto"); const constants_1 = require("../constants"); const private_1 = require("../private"); const generateRandomValue = () => { return Math.random().toString(36).substring(2, 15); }; exports.generateRandomValue = generateRandomValue; const generateXSignature = () => { return (0, jsonwebtoken_1.sign)({ exp: Date.now(), typeof: 'xSig' }, constants_1.SIGNATURE_KEY, { algorithm: 'HS256', header: { alg: 'HS256', typ: 'JWT' } }); }; exports.generateXSignature = generateXSignature; const generateXSig = (credentials) => { return (0, crypto_1.createHash)('sha256') .update(JSON.stringify(credentials)) .digest('hex'); }; exports.generateXSig = generateXSig; const tokenHasExpired = (token) => { try { const payload = private_1.TokenPayloadSchema.parse(JSON.parse(Buffer.from(token.split('.')[1], 'base64').toString('utf-8'))); return payload.exp < (Date.now() / 1000); } catch (_a) { return true; } ; }; exports.tokenHasExpired = tokenHasExpired;