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 2e634f23..c366951b 100644 --- a/src/store/user.js +++ b/src/store/user.js @@ -28,6 +28,7 @@ import QRCode from 'qrcode' import { qrPayload } from 'src/helpers/qr' +import { date } from 'quasar' export default { namespaced: true, @@ -451,12 +452,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)