Gostaria de limitar o acesso a certas páginas em nosso site com base se alguém tem uma conta de membro em nosso Discourse privado. Presumivelmente, eu faria isso verificando nessas páginas se o usuário está logado no Discourse no momento.
Ainda não tentei, mas o parâmetro prompt pode ser útil para o seu caso:
prompt: Se prompt=none, então a solicitação SSO é tratada como uma solicitação de “apenas verificação”. Se o navegador/dispositivo já estiver logado no Discourse, o Discourse retornará uma resposta SSO bem-sucedida contendo informações de autenticação do usuário, como de costume. Se o navegador/dispositivo não estiver logado, o Discourse não pedirá ao usuário para fazer login e retornará imediatamente uma resposta SSO contendo o parâmetro failed=true em vez de informações do usuário. Isso fornece um mecanismo para consultar se o usuário está logado, sem nunca direcionar o usuário para uma caixa de diálogo de login, caso ele não esteja.
Isso parece promissor, @simon. Eu não tinha percebido que o DiscourseConnect poderia funcionar sem habilitar enable discourse connect, mas aparentemente pode!
Vou fazer alguns testes e reportar de volta – obrigado por me colocar nesse caminho!
Fico imaginando se o uso do Discourse como provedor de autenticação é ignorado por causa do nome (DiscourseConnect). Por exemplo, apenas adicionar o termo DiscourseConnect a uma postagem aqui cria um link para o tópico sobre o uso de um site externo como provedor de autenticação para o Discourse. Usar o Discourse como provedor de autenticação é uma das minhas principais justificativas para ter um site Discourse.
@simon Só queria escrever de volta para agradecer. Acho que sua sugestão anterior é a resposta correta. Tive problemas para implementá-la no meu site, mas o problema parece ser principalmente que é um CMS semi-personalizado com muito código instável atrapalhando.