Olá - Vi algumas postagens antigas sobre isso, mas nada atual. Fiz essa pergunta no fórum do Memberstack também…
Estou trabalhando em um projeto para construir uma nova comunidade privada/fechada e estou interessado em usar Memberstack + Webflow e SSO para Discourse como plataforma da comunidade. Tenho a impressão de que isso agora é suportado com integração SSO personalizada. Preciso especificamente garantir que os usuários possam ser autenticados nas páginas do Webflow e, em seguida, navegar perfeitamente para o site da comunidade Discourse. Vi comentários sugerindo que é possível e vi a documentação SSO do Memberstack, mas estou procurando informações mais específicas relacionadas à integração com o Discourse. Alguém está usando uma configuração como essa usando Memberstack para gerenciar SSO para Discourse? Preciso testá-la o mais rápido possível. Obrigado.
Sim, isso agora é suportado! O Memberstack agora permite que você use o Memberstack como um provedor OpenID Connect: https://docs.memberstack.com/hc/en-us/articles/8161104982043-Custom-SSO-Integrations. Isso permitirá que os usuários façam login no seu site Discourse através do Memberstack. Se você configurar seu site Discourse de forma que o OpenID Connect seja a única opção de login disponível no site, fazer login no Discourse a partir de suas páginas Webflow será um processo contínuo para seus usuários. (Observação: não remova a opção de fazer login no seu site Discourse com nome de usuário/senha até ter confirmado que os logins OpenID Connect estão funcionando.)
Para que isso funcione, você precisará ter o plugin Discourse OpenID Connect instalado no seu site Discourse. Detalhes sobre a configuração desse plugin estão aqui: Discourse OpenID Connect (OIDC).
Recomendo assistir ao vídeo na documentação do Memberstack que linkei antes de tentar configurar os logins OpenID Connect para o seu site Discourse. Ele o guiará pelo processo de configuração dos logins OpenID Connect do Memberstack para funcionar com o site de teste em https://openidconnect.net/. Depois de fazer isso, configurar a autenticação OpenID Connect para o Discourse deve ser um processo simples.
Se houver algum site Discourse existente que tenha configurado a autenticação OpenID Connect com o Memberstack, seria ótimo ouvir deles.
@simon Muito obrigado pela sua contribuição e por confirmar que isso deve funcionar! Eu esperava obter esse tipo de validação antes de avançar muito com o Webflow. Estou usando isso para executar um programa piloto e quero testar Memberstack + Webflow + Discourse durante o piloto. Portanto, isso é apenas para provar o MVP e é muito possível que eu mude para algo bem diferente a longo prazo (exceto o Discourse… definitivamente manterei esse!).
Como este suporte OpenID do Memberstack é relativamente novo, ficaria feliz em saber se há alguém aqui que esteja realmente usando esse tipo de configuração em produção.
Olá! Você conseguiu implementar uma solução funcional para isso? O OpenID requer uma conta empresarial no Discourse, que custa US$ 300/mês! Eu esperava usar o DiscourseConnect SSO para conseguir o que você mencionou com Webflow e Memberstack!
Até onde sei, uma solução funcional foi implementada com OpenID Connect.
Não acho que o Webflow permita adicionar código do lado do servidor ao seu site. Se isso estiver correto, não será possível usar o DiscourseConnect com o Webflow.
@JammyDodger, este tópico poderia ser renomeado para “Memberstack + Webflow + Discourse OpenID Connect”.
Olá a todos! Consegui fazer o SSO para o Discourse funcionar via meu login do Memberstack! Assim que faço login via OpenID no meu fórum Discourse, recebo um pop-up para “criar minha conta” no fórum. É isso que deveria acontecer ou deveria me fazer login diretamente? Incluí uma captura de tela do pop-up que recebo depois de fazer login com minhas informações do Memberstack. Agradeço antecipadamente!
Pela sua captura de tela, não parece que seu endereço de e-mail está sendo preenchido no formulário de login. Faz um tempo que assisti ao vídeo do Memberstack (https://docs.memberstack.com/hc/en-us/articles/8161104982043-Custom-SSO-Integrations), mas acho que a configuração do site do Discourse openid_connect_authorize_scope precisa ser definida como openid email profile para que o endereço de e-mail e o nome de usuário sejam incluídos na carga útil enviada para o Discourse.
Não tenho as coisas configuradas para testar isso agora, mas você pode precisar habilitar estas configurações para pular o pop-up de criação de conta (caso contrário, os campos ainda serão preenchidos, mas os usuários terão que clicar no botão “Criar sua conta”):
auth skip create confirm (definitivamente precisa ser habilitado para pular o pop-up de criação de conta)
auth overrides email
auth overrides username
auth overrides name
A maneira mais fácil de testar isso é se você tiver uma conta não administrativa no seu site Webflow. Dessa forma, você pode tentar fazer login como esse usuário várias vezes e apenas excluir a conta dele no Discourse se não estiver funcionando como esperado.
Muito OBRIGADO, Simon! Adicionar esses itens extras em “openid_connect_authorize_scope” resolveu e habilitar “auth skip create confirm” pula o pop-up e vai direto para a página inicial do fórum! Habilitei “openid connect overrides email” - o que isso faz?
E existe uma maneira de definir o botão “Inscrever-se” no Discourse para navegar para uma página de inscrição personalizada que tenho em meu site? Atualmente, clicar em “Inscrever-se” me conecta via OpenID, mas eu gostaria que ele linkasse para uma página específica em meu site.
Obrigado por toda a sua ajuda, tem sido inestimável!
Certo, para OpenID Connect, a configuração é chamada openid connect overrides email, não auth overrides email. Quando ativado, toda vez que um usuário faz login no Discourse através do OpenID Connect, o e-mail do Discourse dele será definido para o valor do endereço de e-mail que ele usa no site do provedor de autenticação OpenID Connect. Isso significa que, se um usuário alterou seu e-mail no Discourse, ele será automaticamente redefinido para o valor do endereço de e-mail que ele usa no Memberstack.
Na verdade, você pode desativar a configuração do site email editable para evitar quaisquer problemas com e-mails dessincronizados com o provedor de autenticação. Portanto, se você desativar email editable e ativar openid connect overrides email, os usuários só poderão alterar seu endereço de e-mail alterando-o no Memberstack e, em seguida, fazendo login no Discourse via Memberstack.
Não acho. Depois que alguém clica no botão “Inscrever-se” no Discourse, o Discourse o redirecionará para o authorization_endpoint fornecido pelo Memberstack. Possivelmente o Memberstack permite que isso seja configurável, mas você precisaria contatá-los para descobrir.
Outra abordagem possível é que pode ser possível adicionar um link para a página personalizada no cabeçalho do Discourse. Talvez com este componente de tema: Custom Header Links. Idealmente, você seria capaz de ocultar o link de usuários logados com algum CSS.
@ryanshah112 Consegui fazer isso funcionar como um POC (com muita ajuda de @simon), mas decidi contra a configuração da Microsoft e agora pausei o projeto por alguns meses. Preciso colocá-lo em funcionamento novamente. Achei que a integração MS openID não funcionou muito bem. Por um lado, há o problema do login duplo que tornou o fluxo de integração menos que ideal - ele não pede apenas a autorização do aplicativo, mas faz o usuário fazer login. Eu queria configurar um fluxo de integração personalizado onde o usuário fizesse login no site do Webflow e pudesse navegar para o Discourse de forma transparente. Consegui fazer isso funcionar usando formulários, Zapier, Airtable, criando um usuário do Discourse via API. Foi muito legal como um POC, mas não é realmente algo que eu queria fazer como um sistema de produção. Quando eu começar novamente, provavelmente não dependerei da Microsoft como o IDP, mas sim construirei usando algo como Wized com Supabase ou algo assim. Acho que a integração Microsoft + Discourse funcionaria bem se você estiver satisfeito com algumas das limitações.
Você pode me dizer qual será a URL de conexão do discurso? Existem o Ponto de Extremidade do Token de Autorização, o Ponto de Extremidade do Token e o Ponto de Extremidade das Chaves do Token.
Para configurar o OpenID Connect no lado do Discourse, você pode encontrar as informações relevantes aqui: Discourse OpenID Connect (OIDC). Um detalhe específico do Memberstack que não é mencionado nesse tópico é que acho que a configuração do site openid_connect_authorize_scope do Discourse precisa ser definida como:
openid email profile
(Assumindo que isso esteja correto, ele deve ser adicionado à seção “Observações específicas do provedor” na parte inferior do tópico OpenID Connect do Discourse.)
Esta é uma causa de confusão sem fim aqui, mas DiscourseConnect se refere a um protocolo de autenticação completamente separado. As informações que você precisa estão no tópico OpenID Connect do Discourse que eu linkei.
Tenho quase certeza de que não é possível usar o DiscourseConnect com o Memberstack. Para funcionar, você precisaria adicionar algum código do lado do servidor ao seu site Memberstack. Acho que isso não pode ser feito.
Pode valer a pena perguntar ao Memberstack sobre isso. Eles poderiam implementar o DiscourseConnect para todos os seus sites de forma semelhante ao que o Memberful fez: Integrate Discourse with Memberful - Memberful. Estou disponível para trabalhos de consultoria se eles quisessem alguma ajuda com isso
Olá River! Concordo com Simon que não é possível usar o DiscourseConnect e, em vez disso, você precisará usar o OpenID. Se precisar de ajuda para configurar o Memberstack x Discourse via OpenID, ficarei feliz em ajudar, pois consegui fazer isso com a ajuda de Simon! Você precisará do plano “Business” se estiver usando o serviço de hospedagem do Discourse.
@ryanshah112 e @river - Para sua informação - quando comecei este tópico, eu tinha um requisito rígido para usar o Webflow. O Memberstack era realmente a única opção viável para SSO via OpenID e eu não o olho há talvez 6 meses, então algumas coisas podem ter melhorado lá. Mas se você estiver disposto a considerar o Wordpress, há muitos benefícios com o DiscourseConnect.
Ryan - Comecei com o plano Business para testá-lo, mas mudei para Self hosted depois de alguns meses porque eu realmente não precisava de pacotes / recursos de nível “business” para meu POC, exceto o OpenID. Dependendo do que você precisa, você pode querer considerar isso e eu recomendo @pfaffman se você precisar de ajuda para configurar isso. Super fácil.