From def8e130058e61d8619825309adb177116bd2519 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Robles?= Date: Mon, 15 Jul 2024 09:20:37 -0500 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Separation=20of=20voting=20session?= =?UTF-8?q?=20time=20and=20bearer=20token=20lifetime=20(#433)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Parent issue: https://github.com/sequentech/meta/issues/762 --- avAdmin/elections-api-service.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/avAdmin/elections-api-service.js b/avAdmin/elections-api-service.js index 331c8928..b1d27917 100644 --- a/avAdmin/elections-api-service.js +++ b/avAdmin/elections-api-service.js @@ -350,7 +350,13 @@ angular.module('avAdmin') var deferred = $q.defer(); var cached = electionsapi.permcache[id]; - if (!cached) { + var expired = false; + if (cached) { + var decodedToken = Authmethod.decodeToken(cached); + var halfLife = new Date(1000*(decodedToken.create_timestamp + 0.5 * decodedToken.expiry_secs_diff)); + expired = halfLife < Date.now(); + } + if (!cached || expired) { Authmethod.getPerm( "edit|create|register|update|update-share|view|delete|send-auth|send-auth-all|view-results|view-stats|view-voters|view-census|start|stop|allow-tally|tally|calculate-results|publish-results|census-add|census-delete|census-delete-voted|census-activation|add-ballot-boxes|list-ballot-boxes|delete-ballot-boxes|add-tally-sheets|override-tally-sheets|list-tally-sheets|delete-tally-sheets|archive|unarchive|event-view-activity|event-receiver-view-activity|generate-auth-code|reset-voter|suspend|resume|set-public-candidates|set-authenticate-otl-period", "AuthEvent",