Autoexclusão de uma conta com login apenas SSO não redireciona para `logout redirect`, mas para a URL de autenticação, causando um loop

CONTEXTO: Com o login local desabilitado, o acesso anônimo desabilitado e um provedor OAuth2 adicionado via plugin Basic OAuth, a URL de redirecionamento de logout é respeitada quando o usuário clica para sair.

BUG: No entanto, quando um usuário tenta autoexcluir sua conta, ele não é redirecionado para a URL de redirecionamento de logout, mas de volta para a URL base do fórum, que por sua vez redireciona para a URL de autenticação SSO sem qualquer aviso, já que a visualização anônima está desabilitada.
Como o usuário ainda está logado no provedor SSO, isso resulta imediatamente na recriação de sua conta.

Acho que a correção mais imediata seria simplesmente obedecer à configuração de redirecionamento de logout após a autoexclusão da conta.
Uma melhoria adicional seria manter uma lista de usuários que se autoexcluíram e, na recriação subsequente da conta com os mesmos detalhes, exibir um aviso explicando que eles estão tentando recriar uma conta que foi previamente excluída, permitindo que a evitem. Melhor ainda se o administrador pudesse optar por exigir a ativação manual de tais contas recriadas pela equipe.

2 curtidas

apenas para verificar - este é o plugin em questão aqui?

Também - estou voltando a estudar Oauth - mas imagino que preciso configurar um provedor Oauth2 local para testar isso? Está correto? E você recomenda algum? @nat

Sim!

O README desse plugin que você compartilhou aqui parece um bom lugar para começar.

1 curtida

Olá Chris,

Sim, no meu caso, eu estava usando o plugin que você mencionou com o Authentik como provedor especificamente, e tudo funciona como pretendido, exceto pela reinscrição em uma exclusão de conta devido ao loop de redirecionamento descrito.

Abraços

1 curtida

isso foi mesclado. redirect to /login after account delete to prevent recreation of sso account by marstall · Pull Request #22575 · discourse/discourse · GitHub

2 curtidas