From 334997907c055362048306d13c9c6f8ba3c1220e Mon Sep 17 00:00:00 2001 From: Carlo Venusino Date: Thu, 29 Jul 2021 10:14:14 +0200 Subject: [PATCH] TT#133501 Add "expire" time to QR code generated for sip:phone Change-Id: If73361c60ca55390f85181693270d0e37ed7830c --- src/helpers/qr.js | 4 ++-- src/store/user.js | 3 +++ test/jest/__tests__/helpers/qr.spec.js | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/helpers/qr.js b/src/helpers/qr.js index a0f995f8..d80b8eeb 100644 --- a/src/helpers/qr.js +++ b/src/helpers/qr.js @@ -1,3 +1,3 @@ -export function qrPayload ({ subscriber, server, token }) { - return `username=${subscriber}&server=${server}&token=${token}` +export function qrPayload ({ subscriber, server, expire, token }) { + return `username=${subscriber}&server=${server}&expire=${expire}&token=${token}` } diff --git a/src/store/user.js b/src/store/user.js index af2077bd..18a2ca18 100644 --- a/src/store/user.js +++ b/src/store/user.js @@ -24,6 +24,7 @@ import QRCode from 'qrcode' import { qrPayload } from 'src/helpers/qr' +import { date } from 'quasar' export default { namespaced: true, @@ -408,12 +409,14 @@ export default { }, async fetchAuthToken ({ commit, state, getters }, expiringTime = 300) { const subscriber = state.subscriber + const expireDate = date.addToDate(new Date(), { seconds: expiringTime }) commit('setQrExpiringTime', expiringTime) try { const authToken = await createAuthToken(expiringTime) const data = qrPayload({ subscriber: subscriber.username, server: subscriber.domain, + expire: expireDate.getTime(), token: authToken }) const qrCode = await QRCode.toDataURL(data) diff --git a/test/jest/__tests__/helpers/qr.spec.js b/test/jest/__tests__/helpers/qr.spec.js index 05a0f124..d67fbb39 100644 --- a/test/jest/__tests__/helpers/qr.spec.js +++ b/test/jest/__tests__/helpers/qr.spec.js @@ -9,11 +9,13 @@ describe('QR helpers', function () { it('checks the format of QR payload', () => { const subscriber = '43991002' const server = 'sipwise.com' + const expire = new Date().getTime() const token = 'e7cd5253-79fc-4aec-bb1b-4b86eff96c7d' - const payload = `username=${subscriber}&server=${server}&token=${token}` + const payload = `username=${subscriber}&server=${server}&expire=${expire}&token=${token}` const result = qrPayload({ subscriber: subscriber, server: server, + expire: expire, token: token }) expect(result).toBe(payload)