#6264 - renewToken #1824
Labels
No Milestone
No Assignees
4 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: verdnatura/salix#1824
Loading…
Reference in New Issue
No description provided.
Delete Branch "6264-renewToken"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
WIP: 6264-renewTokento 6264-renewToken6264-renewTokento WIP: 6264-renewToken@ -0,0 +1,7 @@
module.exports = async(token, accessTokenConfig) => {
const now = new Date();
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
@ -0,0 +1,9 @@
const DEFAULT_FIELDS = ['renewPeriod', 'courtesyTime'];
Esto lo haces por hacer solo una vez la peticion?
Correcto, porque al final la config no va a cambiar y hacer tantas peticiones a la misma info... :(
*Borrar archivo
WIP: 6264-renewTokento 6264-renewToken@ -0,0 +1,9 @@
describe('Validate Token', () => {
it('Token is not expired', async() => {
Vacios?
6264-renewTokento WIP: 6264-renewTokenValorar usar newDate en lugar de date.vnNew
WIP: 6264-renewTokento #6264-renewToken@ -0,0 +6,4 @@
const accessTokenConfig = await models.AccessTokenConfig.findOne({fields});
if (!accessTokenConfig) currentAccessTokenConfig = accessTokenConfig;
return accessTokenConfig;
};
Utilizar directamente
await models.AccessTokenConfig.findOne()
en los ficheros js que incluyan a este. En el directorio methods solo deberían haber ficheros con métodos de la API rest.@ -1,3 +1,5 @@
const isTokenValid = require('./is-token-valid');
Porque se define en un fichero externo si sólo se utiliza en este método?
@ -4,0 +8,4 @@
const accessToken = await models.AccessToken.findById(token);
if (!accessToken) return next();
Este código parece que no tiene ningún efecto
New commits pushed, approval review dismissed automatically according to repository settings
#6264-renewTokento #6264 - renewToken@ -23,2 +31,2 @@
const differenceMilliseconds = now - token.created;
const differenceSeconds = Math.floor(differenceMilliseconds / 1000);
// Check if current token is valid
const isValid = await Self.validateToken(token);
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?
Si ves que sólo se llama desde aquí sí.
@ -25,3 +34,2 @@
const fields = ['renewPeriod', 'courtesyTime'];
const accessTokenConfig = await models.AccessTokenConfig.findOne({fields});
const {courtesyTime} = await models.AccessTokenConfig.findOne({fields: ['renewPeriod', 'courtesyTime']});
Para que se selecciona
renewPeriod
si luego no se utiliza?Oh, tienes razón la línea venia heredada de otro sitio
@ -1,5 +1,5 @@
module.exports = function(options) {
return function(req, res, next) {
return async function(req, res, next) {
Porque la pasas a async? No tiene ningún await dentro
Tomo nota
@ -1,5 +1,15 @@
const UserError = require('vn-loopback/util/user-error');
const {models} = require('vn-loopback/server/server');
const DEFAULT_COURTESY_TIME = 60;
he visto el accessTokenConfig = 60 en las fixtures, no conviene quitarlo de aquí para no tener valores en el código?
Se utiliza como valor por defecto del parámetro courtesyTime de una línea más abajo.
Esto se hace, por si, se diese el caso que el valor en BD está a nulo.
#6264 - renewTokento WIP: #6264 - renewTokenWIP: #6264 - renewTokento #6264 - renewToken@ -2,1 +2,4 @@
const {models} = require('vn-loopback/server/server');
const DEFAULT_COURTESY_TIME = 60;
const handlePromiseLogout = (Self, {id}, courtesyTime = DEFAULT_COURTESY_TIME) => {
tras la conversación asumimos que courtesy estará en la tabla definido
#6264 - renewTokento WIP: #6264 - renewTokenWIP: #6264 - renewTokento #6264 - renewToken