Ainda estou lendo threads antigas sobre o uso do WP SSO, mas fiquei curioso se compartilhar nosso roteiro poderia trazer algum conselho. Há algo que devemos ficar atentos? Algo que devemos evitar?
Nossa Stack:
WordPress (base)
MemberPress (gerencia contas de usuários)
LearnDash (LMS, criação de cursos)
Discourse (comunidade privada para membros)
Experiência de Onboarding Desejada:
O visitante chega ao nosso site WP (marketing de conteúdo) e se converte em membro pago.
– Estamos pensando em um teste gratuito de 24 horas (com conversão automática).
O plugin WP Discourse (SSO) gera uma conta no Discourse (TL0).
O TL0 recebe acesso somente leitura à maioria das categorias.
A promoção de TL0 para TL1 exige 5 minutos postando uma apresentação.
Após 24 horas, o cartão do membro é cobrado, a membresia é oficializada e ele é automaticamente promovido ao TL1.
O WP SSO gerenciaria as contas para que apenas membros ativos/pagos tenham acesso tanto à comunidade quanto ao conteúdo do LMS.
Fico curioso se existe uma maneira mais simples ou melhor de fazer isso. Reduzir a fricção para novos membros é importante, mas garantir a escalabilidade a longo prazo também, sabe?
Pela sua lista de integração, parece que você deseja substituir o sistema de níveis de confiança do Discourse. Acredito que uma abordagem melhor seria usar a associação a grupos do Discourse para controlar o acesso ao conteúdo do seu site. Para detalhes sobre como isso funciona, consulte Understanding groups and category permissions.
O plugin WP Discourse possui algumas funções que você pode usar para adicionar e remover usuários de grupos. Os detalhes estão neste tópico: Manage group membership in Discourse with WP Discourse SSO. Esse tópico usa o plugin PaidMembershipsPro como exemplo, mas a mesma ideia deve funcionar com o MemberPress.
Aqueles tópicos foram úteis. Já instalei e conectei o WP Discourse ao Discourse. Talvez até tenha algumas ideias novas (melhores) para a nossa experiência de integração. Obrigado, @simon!
No entanto, parei antes de tomar qualquer decisão sobre SSO. Tenho medo de que, quanto mais eu leio sobre isso, mais minha cabeça dá voltas e eu fique tonto. Poderia me dar um pouco mais de orientação sobre esse assunto?
Considerando: WordPress & MemberPress + Discourse + LearnDash… e querendo colocar paywall em tudo que não for postagem de blog…
Se o Discourse for o CLIENTE de SSO, usaríamos o MemberPress para gerenciar contas no WordPress e o acesso aos cursos do LearnDash. Foi assim que começamos a abordar as coisas, então faz sentido inerentemente, mesmo que não seja a melhor prática em termos de implementação ou escalabilidade.
Se o Discourse for o PROVEDOR de SSO, precisaríamos encontrar e implementar um paywall no lado do Discourse (até agora, nenhuma das opções que vi me passou muita confiança, para ser honesto). Se pudéssemos dispensar o MemberPress no lado do WordPress, talvez valesse a pena mudar, mas não tenho certeza de como isso funcionaria com o desejo de ter usuários sincronizados no WP acessando conteúdo do LMS com preços especiais para membros, enquanto o público geral vê os preços de varejo completos.
Isso faz sentido? Tentei deixar isso claro, mas estou um pouco confuso.
Sinto que um e-mail para o Jay resolveria isso, mas cada dólar gasto com desenvolvimento é um dólar que não temos para o restante dos nossos planos de startup. (Sinto cada vez mais que deveríamos delegar ao Jay.)
Desenvolvimento interessante nesta stack/front. @simon, curioso para saber o que você acha.
O MemberPress gerencia memberships e processamento de pagamentos. Fácil o suficiente.
O MemberPress foi projetado para gerenciar o acesso a conteúdo local do WordPress.
O MemberPress não tem autoridade para limitar o acesso ao Discourse via SSO.
O que descobri é que, quando o cartão de crédito de alguém é recusado, o membership dela é suspenso, mas, como ela ainda pode fazer login no WordPress, mantém o acesso ao Discourse via SSO.
Quanto trabalho seria fazer o plugin de SSO levar em consideração o status do membership (do MemberPress) antes de permitir que alguém faça login no Discourse?
Acho que a forma como integramos as coisas até agora é econômica e fácil o suficiente para que, se o plugin de SSO cuidasse disso, estaríamos tranquilos por um bom tempo. Mas também sinto que esse caminho pode levar a um trabalho de desenvolvimento personalizado complexo.
Quanto mais conseguirmos manter as coisas próximas ao Discourse padrão, melhor estaremos, na minha opinião.
Obrigado novamente pelas dicas. Desculpe interromper, Simon.
Se você puder descobrir como o MemberPress está determinando quais usuários devem ter acesso ao conteúdo protegido no WordPress, os mesmos dados podem ser usados para restringir os logins SSO no Discourse. Para fazer isso, você precisará adicionar uma declaração condicional às duas funções na segunda postagem deste tópico: Como impedir que alguns usuários do WP façam login no Discourse. A declaração condicional deve retornar true se a conta do usuário tiver sido suspensa.
O que você deseja realizar é viável, mas talvez precise de ajuda de um desenvolvedor do WordPress para descobrir o que colocar na declaração condicional nas duas funções que vinculei.