Este guia explica como provisionar automaticamente contas de usuário no Discourse quando um provedor de autenticação externo está habilitado, para que os usuários sejam criados automaticamente sem que uma página de cadastro seja exibida.
Nível de usuário necessário: Administrador
Provisionamento automático de contas de usuários com autenticação externa
Ao conectar o Discourse a um provedor de identidade externo via DiscourseConnect, o plugin OpenID Connect, o plugin OAuth2 Basic, SAML ou outro provedor de autenticação, o Discourse cria contas de usuário no primeiro login. Por padrão, ele exibe uma página de cadastro antes de criar a conta, mesmo quando o provedor já forneceu todos os detalhes necessários (e-mail, nome de usuário e nome).
O provisionamento automático remove essa etapa extra. Com as configurações corretas habilitadas, o Discourse cria a conta silenciosamente em segundo plano e faz o login do usuário diretamente, proporcionando uma experiência fluida.
Habilitando o provisionamento automático
Para pular a etapa de cadastro, você precisa habilitar a configuração do site auth_skip_create_confirm. Essa configuração está localizada em Admin > Todas as configurações do site > Página de login.
Opcional: Habilitar as configurações de substituição
Essas configurações informam ao Discourse para confiar nos valores fornecidos pelo seu provedor de identidade e usá-los diretamente, sem pedir ao usuário que os revise. Navegue até Admin > Todas as configurações do site > Página de login e marque as seguintes opções:
| Configuração | Descrição |
|---|---|
auth_overrides_username |
Usa o nome de usuário do provedor diretamente em cada login e impede que o usuário o altere localmente. Aplica-se a todos os provedores de autenticação. |
auth_overrides_email |
Usa o e-mail do provedor diretamente em cada login e impede que o usuário o altere localmente. Aplica-se a todos os provedores de autenticação. |
auth_overrides_name |
Usa o nome completo do provedor diretamente em cada login e impede que o usuário o altere localmente. Aplica-se a todos os provedores de autenticação. |
auth_overrides_avatar |
Usa o avatar do provedor diretamente em cada login e impede que o usuário o altere localmente. Aplica-se a todos os provedores de autenticação. |
Os plugins OAuth2 Basic, OpenID Connect e SAML também possuem suas próprias configurações de substituição específicas do plugin (
oauth2_overrides_email,openid_connect_overrides_email,saml_sync_email). Elas funcionam da mesma maneira que a configuração globalauth_overrides_email, mas aplicam-se apenas ao seu respectivo provedor. Para a maioria das configurações, as configurações globais acima são suficientes.
Perguntas frequentes
Essas configurações se aplicam a todos os plugins de autenticação ou apenas ao DiscourseConnect?
As configurações auth_skip_create_confirm e auth_overrides * se aplicam a todos os provedores de autenticação externos, incluindo DiscourseConnect, OpenID Connect, OAuth2 Basic, SAML e qualquer outro plugin construído sobre o framework de autenticação do Discourse.
Posso criar contas para usuários antes que eles façam login?
Sim, mas apenas ao usar o DiscourseConnect. Use a rota da API sync_sso conforme descrito em Sync DiscourseConnect user data with the sync_sso route.
Qual é a diferença entre o DiscourseConnect e os plugins OAuth2/OIDC?
O DiscourseConnect é o protocolo SSO personalizado do Discourse. Ele dá ao seu site externo controle total sobre as contas do Discourse, incluindo a capacidade de definir associação a grupos, substituir campos e criar contas previamente via API. Os plugins OAuth2 e OpenID Connect usam protocolos padrão da indústria, o que facilita a conexão com provedores de identidade de terceiros com configurações mínimas.