Provedor de autenticação falso para fins de desenvolvimento/teste

:information_source: 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 :slight_smile:

:philosoraptor: 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_IMPERSONATE como 1 para que funcione

17 curtidas

Olá, este plugin não funcionou com o Ember CLI. Quando inseri os detalhes e cliquei em conectar, vi isso:

O mesmo erro de Unable setup development enviroment(docker) as DiscourseConnect provider

Você poderia dar uma olhada nisso?