Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
CONTEXTO:
En base a un reclamo por parte de "La Torre" nos dimos cuenta que la app no estaba realizando el deslogueo del usuario cuando los tokens de acceso se encontraban expirados. Esto generaba que, al realizar request a todas las apis, respondieran con un error 401, lo que evitaba al usuario poder operar con cualquier flujo de la app.
Revisando, nos dimos cuenta que el package de oauth realiza la validación del token para saber si está expirado sólo cuando se cuenta con un
refresh-token
; dato con el que la app ya no está contando por haber eliminado el permiso deoffline_access
del scope de permisos.SOLUCIÓN:
Se agregó una segunda validación dentro de la utils
getAuthData
para que, en caso de que el usuario no cuente con el refresh-token, pero su token actual se encuentre expirado, se seteen valores para forzar el logout de la app y que el usuario deba volver a logearse para operar. De esta manera se resolvería el problema reportado.CÓMO PROBARLO?:
La manera rápida sería corriendo los test para validar que, cuando el token se encuentra todavía activo, los valores de logged y oauthTokens, sean true y los datos asociados al token. Esto se puede ver en el test de la linea 309 del test
oauth.test.js