`sso overrides groups` funciona com Oauth2?

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?

1 curtida

A configuração sso overrides groups não funciona com OAuth2. Ela só funciona com a implementação do SSO do Discourse: Setup DiscourseConnect - Official Single-Sign-On for Discourse (sso). Estamos no processo de renomear o Discourse SSO para DiscourseConnect para evitar confusão em relação a esse problema.

1 curtida

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.

4 curtidas

Então, temos alguns patches muito preliminares potenciais para implementar groups com OAuth2:

:warning: 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.

3 curtidas

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.

3 curtidas

Ótimo, obrigado. Vou tentar fazer um teste local ou conseguir que algum outro voluntário gentilmente verifique se funcionam primeiro e remova o :warning:.

2 curtidas

Não tive tempo para trabalhar nisso (ou encontrar alguém que possa…). Se alguém que estiver lendo isso quiser ajudar, seria ótimo.

Assim que Managing group membership via authentication - #14 by mattdm for concluído, certamente estaremos avaliando como fazê-lo funcionar com o plugin OAuth2 :slight_smile:

3 curtidas

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?

1 curtida

Legal! Deixando de lado as quebras, eles funcionam?

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?

1 curtida

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?

E aí, pessoal! Posso adicionar vocês à nossa instância de staging do Oauth2, isso ajudaria?

1 curtida