Gostaria de usar este recurso. Estamos no plano Business hospedado, então o SAML não está disponível para nós, então estamos usando OAuth2 / OpenID Connect. Acredito que configurei tudo corretamente (sso overrides groups está ativado e oauth2 scope está definido como openid profile email https://id.fedoraproject.org/scope/groups).
Estou um pouco confuso sobre como o Discourse usa a palavra SSO e em quais opções aparecem. No entanto, estamos usando sso overrides username e isso funciona. Devo esperar que isso também funcione?
Ai, que pena. A renomeação definitivamente ajudará a reduzir a confusão, mas não atende às minhas necessidades. Essa limitação é intencional ou simplesmente não foi implementada?
A configuração utiliza um caminho de código separado do usado em logins com OAuth2. A sincronização de grupos via OAuth2 ainda não foi implementada. A capacidade de sincronizar grupos do Discourse com grupos de um site externo tem muitos casos de uso com o Discourse, então esperamos que isso possa ser implementado no futuro. Por enquanto, sua única opção é gerenciar a associação a grupos por meio da API.
Então, temos alguns patches muito preliminares potenciais para implementar groups com OAuth2:
Porém como estamos usando o plano hospedado, não temos um ambiente de staging rápido para testá-los, então eles são completamente teóricos. Tentarei configurar um ambiente assim em breve, mas literalmente não é o trabalho de ninguém em tempo integral, então, se alguém puder ajudar a revisar e testar isso, seria incrível.
Se você enviar esses como PRs contra nosso repositório, faremos uma revisão. Não podemos garantir que serão mesclados, mas pelo menos haverá uma revisão.
Implantei as alterações vinculadas acima e elas não parecem ter quebrado o Discourse. Há documentação sobre como executar os testes para que eu possa verificar se as alterações não quebraram nada?
Resumindo, não sei ao certo a menos que eu use um sistema mock no Fedora Accounts System (FAS) — ou em algum outro sistema OIDC — para testar. Também estaria interessado em aprender a usar o smoke test do Discourse, que parece rodar em um navegador Chrome headless, mas estou com dificuldade para encontrar qualquer coisa sobre isso.
Alguém do Discourse sabe onde posso encontrar informações sobre como executar um smoke test?
Alguém da Fedora poderia fornecer um sistema FAS mock para testar?
Hmm. O Sistema de Contas do Fedora é… meio grande. (Mas (desde a grande atualização deste ano) ele usa o FreeIPA nos bastidores, então, teoricamente, qualquer pessoa poderia criar algo semelhante.)
Talvez pudéssemos conectar seu Discourse de teste ao Sistema de Contas real do Fedora?