Apenas para desenvolvimento local. Não é útil para sites em produção
Ao trabalhar no Discourse localmente, é útil poder testar todos os diferentes métodos de login. Na maioria das vezes, não nos importamos com o processo real de autenticação; queremos apenas saber como o Discourse reagirá a diferentes entradas. Por exemplo:
- O que acontece se o e-mail não estiver verificado?
- O que acontece se o provedor de autenticação não nos enviar um endereço de e-mail?
- O que acontece se o provedor de autenticação não nos enviar um nome de usuário?
- O que acontece se o e-mail corresponder, mas não o UID?
- Como funcionam os convites quando a autenticação externa é usada?
- Como é a tela de login?
- (Poderia continuar indefinidamente aqui… mas você entendeu a ideia)
Até agora, a única opção real era “configurar autenticação real do Google/Twitter/OAuth2/etc. no seu ambiente de desenvolvimento”. Isso funciona, mas é super trabalhoso, e então você fica preso criando várias contas do Google/Twitter para testar diferentes combinações.
Criei algo um pouco mais simplificado:
Se você instalar este plugin localmente, ele fornecerá um provedor de autenticação falso. Para o Discourse, ele funciona da mesma forma que qualquer outro provedor (por exemplo, Google, Twitter, OAuth2, OIDC, etc.).
Quando você iniciar o fluxo de login, verá esta tela, onde pode inserir manualmente quaisquer dados que desejar. Os valores enviados serão lembrados por meio de um cookie, para que você possa repetir a mesma ação facilmente. Os campos correspondem ao Esquema de Hash de Autenticação Omniauth.
Ele usa o sistema ManagedAuthenticator, então os dados serão armazenados na tabela user_associated_accounts com um provider_name de developmentauth.
Ele também suporta o DiscourseConnect! Para testar, basta instalar o plugin e ativar a configuração enable_discourse_connect. Na próxima vez que você fizer login, verá todos os campos do DiscourseConnect prontos para uso.
Por favor, experimente na próxima vez que estiver trabalhando com autenticação e me avise se houver algo que possa ser melhorado ![]()
Note que este é o plugin de autenticação mais inseguro já inventado. Portanto, ele se recusará a iniciar em um ambiente de produção, e você deve definir a variável de ambiente
DISCOURSE_DEV_ALLOW_ANON_TO_IMPERSONATEcomo1para que funcione



