Cliente WordPress DiscourseConnect - nonce expirado

Estou assumindo que isso está acontecendo ao fazer login no WordPress através do seu site Discourse. Se for esse o caso, o problema é que o nonce gerado pelo WordPress expirou. Isso acontece em sites WordPress que têm um Cache de Objeto ativado.

Uma solução é desativar o Cache de Objeto em qualquer página que tenha o link “Login com Discourse”. Para essa abordagem, certifique-se de que o Cache de Objeto esteja desativado para usuários anônimos.

Outra solução está descrita aqui: Wordpress SSO Expired nonce - #15 by simon. A função nesse post pode ser copiada exatamente como está para o arquivo functions.php do seu tema WordPress.

Essa função adiciona uma string aleatória ao URL de Login com Discourse. A string aleatória aciona o WordPress para quebrar o cache e gerar um novo nonce para o usuário. @angus, isso provavelmente deveria ser adicionado ao código do plugin: wp-discourse/lib/sso-client/sso-client-base.php at main · discourse/wp-discourse · GitHub. Não há desvantagens nisso, e eu não acho que haja outra maneira de lidar com o cache de objetos causando o uso de nonces desatualizados em vez de gerar novos para cada visita.

3 curtidas