Acesso básico ao fórum/integração com site WordPress

Tenho um site de membros WordPress usando o MemberPress para gerenciar o acesso.
Criamos um fórum Discourse e instalamos o plugin wp-discourse, conectando-os.

No entanto, não encontrei nenhuma documentação descrevendo como o fórum é normalmente acessado a partir do site WordPress. Não quero que as pessoas sejam redirecionadas para o fórum após o login, mas estou assumindo que posso adicionar um link no menu e incluir um texto para quem não está logado, seguido de outro texto e o link para o site do fórum, visível apenas para usuários logados com o nível de associação adequado.

Agradeceria qualquer orientação sobre isso. Notei, nas várias configurações do plugin, que parece que as postagens podem ser incorporadas no site WordPress, mas não encontrei uma boa explicação de como isso funcionaria na prática.

Obrigado!
Evelyn

Você já viu este tópico?:

Sim
Segui as partes que parecem aplicáveis. Ainda não vejo informações sobre como uma pessoa conectaria o fórum a um site… Acho que basta criar um link no menu.
Tentei configurar o site do WordPress como o SSO para o fórum, mas preciso testar mais, porque quando acesso o fórum como um usuário que já tem uma conta com o mesmo nome de usuário no fórum, ele ainda pede que eu faça login no fórum.
Seria legal ver um exemplo de um site que se conecta a um fórum Discourse.
Obrigado!
Evelyn

Nosso blog principal é um exemplo:

Certo. Você só precisará editar seu site para incluir um link para o fórum em um local apropriado.

Se você usar o plugin para publicar posts do WordPress no Discourse, poderá adicionar um link para o tópico associado do Discourse em cada post do WordPress. Para isso, selecione “Ativar Comentários do Discourse” na aba de configurações de Comentários do plugin. Ao selecionar essa opção, você terá a escolha de exibir os comentários do Discourse abaixo do post ou apenas exibir um link para os comentários.

Quando o SSO está ativado, os links para tópicos do Discourse serão, por padrão, links de login SSO. Isso significa que, quando um usuário clicar no link, ele será automaticamente levado pelo processo de login SSO e, em seguida, redirecionado para o tópico do Discourse como um usuário logado.

Você pode adicionar um link para seu fórum no menu do seu site WordPress. Quando o SSO estiver ativado, você pode estruturar o link de modo que os usuários passem pelo processo de login SSO ao clicar no link. Consulte Create a DiscourseConnect login link para detalhes sobre como estruturar o link. Para adicionar um link nesse formato no WordPress, você precisa adicionar um “Link Personalizado” ao menu:

O exemplo em minha captura de tela fará o login dos usuários no Discourse e os redirecionará para a página inicial do fórum quando clicarem no link “fórum”. Para criar um link que redirecione os usuários para uma página específica do seu fórum, adicione um parâmetro de consulta return_path à URL. Por exemplo: http://localhost:3000/session/sso?return_path=http://localhost:3000/c/fun.

Olá Simon,
Obrigado! Isso é útil.

Existe algum documento que explique isso?

http://localhost:3000/session/sso

Se eu quiser usar minha URL real (subdomínio) para o fórum em vez da URL localhost, isso também funcionará?

Provavelmente não usaremos posts no WordPress para ir ao Discourse, mas apenas teremos um link que leva os membros ao fórum — mas queremos que eles já estejam logados quando chegarem lá.

Isso significa que todas as configurações para comentários e posts, etc., não se aplicarão neste caso? Apenas queremos proteger o acesso ao fórum usando nosso plugin de membros. Comentários e posts não precisarão ser sincronizados.

Evelyn

Ah, desculpe! Acabei de clicar no link que você compartilhou. Li muito rápido :slight_smile:
Evelyn

O exemplo que dei não foi tão claro quanto poderia ter sido. Vou editá-lo esta semana. O domínio localhost:3000 é o domínio do meu site de desenvolvimento local. Você deve substituir esse domínio pelo domínio real do seu fórum. Por exemplo, https://forum.exemplo.com/session/sso

Se for esse o caso, então você não precisa configurar nenhuma das configurações de Comentários ou Publicação.

Quando o SSO está habilitado, todos os usuários do seu site WordPress poderão fazer login no seu fórum Discourse. Se você tiver usuários no WordPress que não devem ter permissão para criar contas no Discourse, será necessário adicionar algum código a um plugin ou ao tema do seu site. O tópico fornece detalhes sobre como fazer isso: How to prevent some WP users from being able to login to Discourse.

Olá Simon,

Configurei este link.

https://forum.richarddolanmembers.com/session/sso?return_path=https://forum.richarddolanmembers.com/

Quero que ele leve apenas ao nível principal. Mais tarde, posso escolher uma página específica do Discourse.

Certifiquei-me de deixar a caixa marcada para permitir login direto.
Atualmente, quando faço login tanto no site do WordPress quanto no próprio fórum, ele me redireciona para o site do WordPress.

Ajuda :slight_smile:
Evelyn

Oi,
Tentei desativar a pré-visualização para que você pudesse ver o link de verdade.
Estou tentando ajustá-lo para que você possa vê-lo.

*2ttps://forum.richarddolanmembers.com/session/sso?return_path=https://forum.richarddolanmembers.com/

Evelyn

Olá Simon,

Estamos percebendo que usuários com privilégios de Administrador no Discourse não estão vendo essas permissões ao fazer login via SSO. Um dos meus colaboradores consegue fazer login com o processo SSO, mas não vê seus privilégios de administrador. Eu não consigo fazer login de forma alguma — ainda estou investigando o motivo.

Existe alguma maneira de permitir que usuários administradores façam login diretamente no Discourse, fora do SSO, para que possam gerenciar o site? Ou garantir que eles tenham todos os seus privilégios completos no Discourse ao fazer login via SSO no site?

Obrigado!
Evelyn

Sim. Se você se trancar fora do Discourse ao configurar o SSO, acesse http://forum.example.com/u/admin-login. (Substitua forum.example.com pelo domínio do seu fórum.) Insira seu endereço de e-mail no formulário da página e clique no link enviado para o seu e-mail.

Depois de fazer login novamente no site, verifique se uma nova conta foi criada para ele. Para fazer login em uma conta existente no Discourse, você precisará usar o mesmo endereço de e-mail no WordPress que usa na conta do Discourse.

Consulte Debug and fixing common DiscourseConnect issues para ver se isso oferece alguma pista para resolver seus problemas de SSO. Os problemas que você está enfrentando provavelmente estão relacionados ao descrito na seção ‘Resolvendo problemas de login SSO com require_activation’ desse tópico. Acredito que seu site não esteja usando o sistema de registro padrão do WordPress, então as novas contas criadas desde que você instalou o plugin WP Discourse terão a flag require_activation definida como true no payload do SSO.