Provisionamento automático de contas de usuário quando o SSO está habilitado

:bookmark: 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.

:person_raising_hand: 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.

:information_source: 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 global auth_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.


Recursos adicionais

2 curtidas