Tokens não são strings. Ao usar new String(nextToken) para codificar um token como string, as informações do token são perdidas e ele se torna inválido.
Se precisar persistir o nextToken ou transferi-lo para a página de frontend, use Base64 para codificar o nextToken como uma string.