Vou habilitar o Provedor DiscourseConnect e tenho algumas perguntas:
Ainda posso personificar usuários e ter acesso a todos os controles de Administração de Usuários no Discourse após habilitar isso?
O que acontece com aqueles que já existem no Discourse, mas não no WP? Suas contas serão afetadas, que credenciais eles usariam para fazer login, já que eles não existem realmente no WP.
Como posso adicionar um botão de inscrição no meu site Discourse que os redirecione de volta para o Discourse após a inscrição no WP?
Existe alguma maneira de os usuários ainda se inscreverem APENAS no Discourse com esta configuração habilitada.
O que, acho que faz sentido da perspectiva do WP, já que o usuário realmente não existe no WP.
A questão é: habilitar o Provedor DiscourseConnect significaria que usuários existentes do Discourse, que não estão registrados no meu WP, não poderão mais fazer login?
Existe uma solução para isso?
Encontrei esta resposta que expande o que você sugeriu:
Mas como posso importá-los para o WP sem afetar suas credenciais de login atuais do Discourse?
Existe alguma maneira de fazer isso sem redefinir os logins do usuário ou mesmo notificá-los, para que seja uma transição tranquila?
Duvido. Existe um plugin do Discourse que permite a migração de senhas do WordPress, mas duvido que exista um que faça o caminho inverso. Você terá que fazer com que todos redefinam suas senhas.
Até que você mude para usar o login do WP, as contas que estão no WordPress não afetam o Discourse.
E se eu habilitasse o WordPress como um Cliente Discourse e, em seguida, criasse um script de automação que:
Fizesse o login como um usuário no Discourse para que a automação estivesse logada como o usuário
Navegasse até o WordPress e clicasse no botão “Login com Discourse”.
Repetisse para todos os usuários que existem no Discourse. Cerca de 2 mil.
A ideia é que o passo nº 2 force o WP a criar uma conta para o usuário do Discourse com as mesmas credenciais. Também estou assumindo que o botão “Login com Discourse” funcionará automaticamente sem pedir senha quando eu estiver logado como o usuário, fingindo ser ele.
Depois de fazer isso, todos os usuários terão suas contas dentro do WP e então eu poderei mudar o WP para o Provedor Discourse?
Parece fazer sentido na teoria, mas adoraria ouvir seu feedback sobre se isso poderia funcionar.
OK. Então, se você tem usuários do Discourse no WordPress, precisará fazer com que todos esses usuários tenham uma conta no WordPress. Se eles a criarem com o mesmo endereço de e-mail, eles deverão ser conectados ao seu usuário do Discourse quando fizerem login.
Após configurar o WordPress como o provedor do DiscourseConnect, os usuários do Discourse que ainda não têm contas em seu site WordPress precisarão se inscrever no WordPress antes de poderem acessar seu site Discourse. Você deve adicionar uma mensagem ao seu site Discourse para informar os usuários sobre a mudança. Na mensagem, incentive os usuários a se inscreverem no WordPress com o mesmo endereço de e-mail que estão usando no Discourse. Dessa forma, eles serão logados em sua conta Discourse existente na primeira vez que fizerem login no Discourse novamente via WordPress.
Se os usuários não se registrarem no WordPress com o endereço de e-mail que estão usando no Discourse, uma nova conta será criada para eles na primeira vez que fizerem login no Discourse novamente via WordPress. Você pode resolver esse problema caso a caso, mesclando a conta antiga do Discourse na nova conta do Discourse. Isso pode ser feito na página de administração do usuário do Discourse.
Uma coisa a notar é que o comportamento dos usuários sendo logados em sua conta Discourse existente só funcionará se os endereços de e-mail estiverem sendo marcados como “válidos” no lado do WordPress. Se você estiver usando o sistema de registro padrão do WordPress, isso funcionará sem problemas. Se você estiver usando uma página de registro personalizada que foi adicionada por um plugin, é provável que os endereços de e-mail dos usuários não sejam marcados como “válidos”. Detalhes sobre como resolver esse problema estão aqui: Configure single sign-on (SSO) with WP Discourse and DiscourseConnect. Observe que é muito importante que você não aceite cegamente os endereços de e-mail sem validá-los de alguma forma. Se os endereços de e-mail não forem validados, você corre o risco de ter contas existentes assumidas.
Parece que você está usando o sistema de registro padrão do WordPress. Estou assumindo isso porque sua página de login está em wp-login.php. Isso significa que o plugin WP Discourse marcará os endereços de e-mail dos usuários como verificados.
O Discourse ainda envia e-mails quando o Provedor Discourse Connect está configurado, o Discourse ainda envia notificações por e-mail para usuários do WP?
Como funciona se alguém é um usuário do WP, mas nunca acessou o fórum, versus alguém que é um usuário do WP e está acessando o fórum.
Sim, o Discourse ainda enviará e-mails para eles. As notificações por e-mail enviadas pelo Discourse não são afetadas pelo uso do Discourse Connect como sistema de autenticação.
Um usuário em seu site WordPress que nunca acessou o Discourse não é considerado um usuário no Discourse. Eles não receberão nenhuma notificação por e-mail do Discourse. A única exceção é se você habilitar a configuração do WP Discourse “Criar ou Sincronizar Usuários do Discourse no Login”:
Se essa configuração estiver habilitada, uma conta do Discourse será criada automaticamente para os usuários quando eles fizerem login em seu site WordPress. Nesse caso, se um usuário fez login no WordPress, mas nunca visitou seu site Discourse, ele começará a receber o e-mail de resumo semanal do seu site Discourse.
Então, acabei de testar isso e não parece ser o caso. Como posso garantir que os e-mails dos usuários sejam verificados agora sem ter que fazer isso manualmente?
Além disso, como novos usuários podem se inscrever e também ter seus e-mails verificados? Atualmente, nós os enviamos para wp-login.php, que não tem opção de inscrição, apenas de login.
Posso criar um novo botão no fórum que diga ‘inscrever-se’ e os envie para uma página de inscrição personalizada dentro do WP, mas então isso é um problema:
Além disso, depois que eles se inscreverem, eu gostaria de redirecioná-los de volta para o Fórum e garantir que eles estejam logados.
Você pode confirmar se os endereços de e-mail estão sendo verificados ou não, criando uma nova conta no WordPress após ter habilitado o Discourse Connect. Se os endereços de e-mail forem verificados, você verá uma confirmação na parte inferior da página de preferências do usuário. Você também pode marcar manualmente um endereço de e-mail como verificado a partir daqui:
Assumindo que os endereços de e-mail não estão sendo verificados, as instruções sobre como marcar os endereços de e-mail como verificados quando um usuário cria uma conta estão aqui: Configure single sign-on (SSO) with WP Discourse and DiscourseConnect. Isso seria seguro de fazer se o seu site estiver enviando um e-mail de confirmação aos usuários que contém um link que eles precisam clicar antes de poderem acessar o site. Se o seu site WordPress não estiver fazendo isso, você também pode adicionar algum código para que os endereços de e-mail dos usuários sejam marcados como verificados após o registro em um de seus cursos. Configurar isso pode exigir alguma ajuda de um desenvolvedor.
Estou vendo duas páginas de login separadas no seu site:
https://projectvanlife.com/login/ (contém um link para sua página de registro, mas clicar no link me leva a uma página “não encontrada”)
A coisa mais fácil a fazer seria resolver isso para que haja apenas uma página de login no site, e a página contenha um link válido para a página de registro do site. Suspeito que isso possa ser realizado através da página de configurações do plugin que está adicionando o formulário de login. Note que se você optar por usar a página de login em https://projectvanlife.com/login/ , você precisará adicionar /login ao “Caminho para sua Página de Login” nas configurações do WP Discourse:
Acho que isso pode confundir os usuários. Uma abordagem mais fácil seria apenas adicionar um link ao seu fórum Discourse que seja estruturado de forma que os usuários façam login automaticamente no Discourse quando clicarem no link. Aqui estão os detalhes sobre como criar o link: Create a DiscourseConnect login link. Uma vez que o DiscourseConnect esteja habilitado em seu site, você também deve estruturar este link dessa forma:
Isso é possível. Alguns detalhes sobre como fazer isso estão aqui: How to import Discourse users to WordPress? - #2 by simon. O principal problema que vejo é que você estaria criando trabalho para si mesmo sem facilitar muito as coisas para seus usuários. Se fosse eu, minhas preocupações seriam que os usuários pudessem não receber ou ler o e-mail e alguns usuários poderiam não ficar felizes em ter uma nova conta criada em nome deles. Há também uma questão de segurança potencial, a menos que o plugin importador que você usa tenha uma maneira de forçar os usuários a mudar suas senhas após o primeiro login.
Seria muito mais fácil apenas criar um tópico de banner em sua categoria “staff” com detalhes sobre a mudança. A redação na captura de tela poderia ser um pouco melhorada:
Depois de fazer a mudança, atualize o tópico do banner para informar aos usuários para contatarem um administrador se tiverem algum problema para fazer login.
Acabei de pensar em algo que pode ajudar. Você poderia configurar temporariamente seu site Discourse para ser o provedor DiscourseConnect para o seu site entre agora e o momento em que você configurar seu site WordPress para ser o provedor DiscourseConnect. Se você fizesse isso, poderia adicionar algo como o seguinte ao tópico do banner:
Clicar nele registrará uma nova conta no WordPress e redirecionará os usuários para a página de perfil do WordPress, onde eles podem definir uma senha. Note que para o seu caso, você precisará substituir ambos os usos de http://wp-discourse.test no link por https://projectvanlife.com/