¿Cómo restaurar un token caducado [AWS Cognito]?

Estoy usando AWS para mi sitio web. Después de 1 hora, el token expira y el usuario prácticamente no puede hacer nada.

Por ahora estoy tratando de actualizar las credenciales de esta manera:

 function getTokens(session) {
   return {
     accessToken: session.getAccessToken().getJwtToken(),
     idToken: session.getIdToken().getJwtToken(),
     refreshToken: session.getRefreshToken().getToken()
   };
 };


function getCognitoIdentityCredentials(tokens) {
  const loginInfo = {};
  loginInfo[`cognito-idp.eu-central-1.amazonaws.com/eu-central-1_XXX`] = tokens.idToken;
  const params = {
    IdentityPoolId: AWSConfiguration.IdPoolId
    Logins: loginInfo
  };
  return new AWS.CognitoIdentityCredentials(params);
 };


 if(AWS.config.credentials.needsRefresh()) {
    clearInterval(messwerte_updaten);
    cognitoUser.refreshSession(cognitoUser.signInUserSession.refreshToken, (err, session) => {
      if (err) {
        console.log(err);
      }
      else {
        var tokens = getTokens(session);

        AWS.config.credentials = getCognitoIdentityCredentials(tokens);

        AWS.config.credentials.get(function (err) {
          if (err) {
            console.log(err);
          }
          else {
            callLambda();
          }
       });
     }
   });
 }

El problema es que después de 1 hora, el token de inicio de sesión se actualiza sin problemas, pero después de 2 horas ya no puedo actualizar el token de inicio de sesión.

También intenté usarAWS.config.credentials.get(), AWS.config.credentials.getCredentials() yAWS.config.credentials.refresh() que tampoco funciona

Los mensajes de error que recibo son:

Faltan credenciales en la configuración

Token de inicio de sesión no válido. Token caducado: 1446742058> = 1446727732

Respuestas a la pregunta(3)

Su respuesta a la pregunta