#6264 - renewToken #1824

Merged
jsegarra merged 36 commits from 6264-renewToken into dev 2023-12-20 09:22:29 +00:00
3 changed files with 4 additions and 6 deletions
Showing only changes of commit d4cd23853f - Show all commits

View File

@ -2,10 +2,8 @@ const tokenConfig = require('./token-config');
module.exports = async token => { module.exports = async token => {
jsegarra marked this conversation as resolved Outdated
Outdated
Review

Creo que se seria mas correcto usar vnNew()

Mas info: https://wiki.verdnatura.es/index.php/Fechas

Creo que se seria mas correcto usar vnNew() Mas info: https://wiki.verdnatura.es/index.php/Fechas

Okey, tomo nota.
Lo extraje de lo que hay actualmente de renew-token

Okey, tomo nota. Lo extraje de lo que hay actualmente de renew-token
const accessTokenConfig = await tokenConfig(); const accessTokenConfig = await tokenConfig();
let now = Date.now(); const now = Date.now();
if (Date?.vnNow !== undefined)
now = Date.vnNow();
const differenceMilliseconds = now - token.created; const differenceMilliseconds = now - token.created;
const differenceSeconds = Math.floor(differenceMilliseconds / 1000); const differenceSeconds = Math.floor(differenceMilliseconds / 1000);
return differenceSeconds > accessTokenConfig.renewPeriod - accessTokenConfig.courtesyTime; return differenceSeconds < accessTokenConfig.renewPeriod - accessTokenConfig.courtesyTime;
}; };

View File

@ -29,7 +29,7 @@ module.exports = Self => {
// Check if current token is valid // Check if current token is valid
const isValid = await Self.validateToken(token); const isValid = await Self.validateToken(token);
if (!isValid) throw new UserError(`The renew period has not been exceeded`, 'periodNotExceeded'); if (isValid) throw new UserError(`The renew period has not been exceeded`, 'periodNotExceeded');
jsegarra marked this conversation as resolved Outdated
Outdated
Review

El método validateToken solo se llama desde aquí en toda la aplicación, puede eliminarse y poner su código directamente aquí.

El método validateToken solo se llama desde aquí en toda la aplicación, puede eliminarse y poner su código directamente aquí.

Era la idea, pero no la seguí porque había un remoteMethod de validateToken y asumí que si existía seria por algo y había que aprovecharlo.

Consideras que deberíamos mover la lógica de ese método a este y eliminarlo?

Era la idea, pero no la seguí porque había un remoteMethod de validateToken y asumí que si existía seria por algo y había que aprovecharlo. Consideras que deberíamos mover la lógica de ese método a este y eliminarlo?

Si ves que sólo se llama desde aquí sí.

Si ves que sólo se llama desde aquí sí.
const {courtesyTime} = await tokenConfig(); const {courtesyTime} = await tokenConfig();
jsegarra marked this conversation as resolved Outdated
Outdated
Review

Para que se selecciona renewPeriod si luego no se utiliza?

Para que se selecciona `renewPeriod` si luego no se utiliza?

Oh, tienes razón la línea venia heredada de otro sitio

Oh, tienes razón la línea venia heredada de otro sitio

View File

@ -29,13 +29,13 @@ describe('Validate Token', () => {
}); });
it('Token is not expired', async() => { it('Token is not expired', async() => {
jasmine.clock().mockDate(new Date(startingTime + 21600000));
const isValid = await models.VnUser.validateToken(ctx.req.accessToken); const isValid = await models.VnUser.validateToken(ctx.req.accessToken);
expect(isValid).toBeTrue(); expect(isValid).toBeTrue();
}); });
it('Token is expired', async() => { it('Token is expired', async() => {
jasmine.clock().mockDate(new Date(startingTime + 21600000));
const isValid = await models.VnUser.validateToken(ctx.req.accessToken); const isValid = await models.VnUser.validateToken(ctx.req.accessToken);
expect(isValid).toBeFalse(); expect(isValid).toBeFalse();