Podemos fazer o decrypt do token com a ajuda de algumas ferramentas. E se o usuário, agindo de má fé, tentar "decriptar" o token, mudar o usuário ID no JSON e "criptar" novamente utilizando o mesmo hash da terceira (e última) parte da string, (que equivale ao segredo)?
Imagino que isso iria invalidar o token, é isso mesmo?