From d7e57c0751d1a699572201caa2509951225384a0 Mon Sep 17 00:00:00 2001 From: shockrah Date: Thu, 11 Feb 2021 22:18:54 -0800 Subject: [PATCH] new func for requesting jwt tokens from a server --- freechat-client/src/auth.js | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/freechat-client/src/auth.js b/freechat-client/src/auth.js index 38fee50..b19595d 100644 --- a/freechat-client/src/auth.js +++ b/freechat-client/src/auth.js @@ -1,3 +1,5 @@ +const ipcRenderer = require('electron') +const { Request } = require('./request.js') const jsonwebtoken = require('jsonwebtoken') /** @@ -6,12 +8,38 @@ const jsonwebtoken = require('jsonwebtoken') * @param {String} jwt token string to verify * @returns Boolean */ -exports.valid_jwt = function (jwt) { +exports.old_jwt = function (jwt) { const result = jsonwebtoken.decode(jwt) if(result) { const now = Math.floor(Date.now() / 1000) - return result['exp'] > now // does it expire later? + return result['exp'] > now } else { return false; } } + +/** + * @param {Object} id + * + */ +exports.request_new_token = function(server) { + const domain = server['domain'] + const id = server['id'] + const secret = server['secret'] + const port = server['port'] + + Request('post', domain, port, '/login', {id: id, secret: secret}).then( + response => { + if(response.status_code == 200) { + const body = JSON.parse(response.body) + server['jwt'] = body + // finally notify the ipc of the config change + ipcRenderer.sendSync('config-update', server) + } + }, + reason => { + console.log('Failure to login: ', reason) + } + ) + +}