Te traemos el resultado a esta obstáculo, o por lo menos eso esperamos. Si sigues con interrogantes puedes escribirlo en el apartado de preguntas y sin dudarlo te ayudaremos
Solución:
No pude encontrarlo explicado en los documentos de la API, pero el timeout
argumento de keycloak.updateToken()
función se expresa en segundosno en minutos.
Entonces si el Vida útil del token de acceso en el servidor tiene el valor predeterminado de 5 minutos, debe usar un valor inferior a 300 segundos. Lo aprendí haciendo algunos experimentos.
//Update the token when will last less than 3 minutes
keycloak.updateToken(180)
Por cierto, te sugiero que uses un Esperanza de vida más de 5 minutos para el token.
En su código, nunca ve el token actualizado porque la actualización nunca se activa en la ventana de 15 segundos en la que funcionará.
(actualizado) regresa false solo si su token no ha caducado. Así que estás tratando de actualizar el token cuando aún no haya expirado.
establezca “Vida útil del token de acceso” en 1 minuto en el Reino de la capa de llaves está usando, luego intente el siguiente código para verificar el estado de actualización nuevamente
keycloak.onTokenExpired = ()=>
console.log('expired '+new Date());
keycloak.updateToken(50).success((refreshed)=>
if (refreshed)
console.log('refreshed '+new Date());
else
console.log('not refreshed '+new Date());
).error(() =>
console.error('Failed to refresh token '+new Date());
);
Echo un vistazo a su código de muestra:
/**
* If the token expires within `minValidity` seconds, the token is refreshed.
* If the session status iframe is enabled, the session status is also
* checked.
* @returns A promise to set functions that can be invoked if the token is
* still valid, or if the token is no longer valid.
* @example
* ```js
* keycloak.updateToken(5).success(function(refreshed)
* if (refreshed)
* alert('Token was successfully refreshed');
* else
* alert('Token is still valid');
*
* ).error(function()
* alert('Failed to refresh the token, or the session has expired');
* );
*/
Entonces creo que su token sigue siendo válido, es por eso que el updateToken devuelve false.
Aquí puedes ver las reseñas y valoraciones de los lectores
Si para ti ha resultado de ayuda este artículo, agradeceríamos que lo compartas con el resto juniors de esta forma contrubuyes a difundir nuestra información.