UNPKG

weverse

Version:
66 lines (65 loc) 2.34 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AssignType = exports.isWeversePasswordAuthorization = exports.createRefreshPayload = exports.createLoginPayload = exports.validateStatus = exports.encryptPassword = exports.readKey = void 0; const path_1 = __importDefault(require("path")); const fs_1 = __importDefault(require("fs")); const node_rsa_1 = __importDefault(require("node-rsa")); function readKey() { try { return fs_1.default.readFileSync(path_1.default.join(__dirname, './publicCert.txt'), 'utf-8'); } catch (e) { console.log('Weverse: error reading public key from disk', e); return null; } } exports.readKey = readKey; function encryptPassword(pass, pubKey) { if (!pubKey) return null; const key = new node_rsa_1.default(); key.importKey(pubKey, 'public'); const enc = key.encrypt(Buffer.from(pass)); return enc.toString('base64'); } exports.encryptPassword = encryptPassword; const validateStatus = (status) => status >= 200 && status < 500; exports.validateStatus = validateStatus; function createLoginPayload(credentials) { const publicKey = readKey(); const encryptedPassword = encryptPassword(credentials.password, publicKey); if (encryptedPassword === null) throw 'Error encrypting Weverse password'; return { username: credentials.username, password: encryptedPassword, grant_type: 'password', client_id: 'weverse-test' }; } exports.createLoginPayload = createLoginPayload; function createRefreshPayload(credentials) { return { refresh_token: credentials.refresh_token, grant_type: 'refresh_token', client_id: 'weverse-test' }; } exports.createRefreshPayload = createRefreshPayload; function isWeversePasswordAuthorization(val) { return val.token === undefined && typeof val.password === 'string' && typeof val.username === 'string'; } exports.isWeversePasswordAuthorization = isWeversePasswordAuthorization; function AssignType() { return class { constructor(t) { Object.assign(this, t); } }; } exports.AssignType = AssignType;