Hi all - I am interested in setting up a few small community sites with discourse plus nextcloud for document and media content sharing. It would be loverly and preferable to have SSO with discourse as SSO provider. If anyone has succeeded in doing this and can share a recipe here on how to do it I’d appreciate it. Thanks!
The communities I am looking at creating are for my own geographically dispersed family, my neighborhood, and my son’s school.
I might also be interested in setting up a nextcloud for the organization I work for that already has an active community website. Though my organization’s community uses discourse, it uses wordpress as SSO auth now. Down the pike I’m also interested in flipping that around so we can benefit from features reliant on discourse as SSO auth.
Edit: this seems to be the page - I will be exploring this today and will let others know what I come up with if anything. Any guidance along the way much appreciated.
as configurações do aplicativo não são acessadas pela seção apps, mas pela barra lateral de configurações de administração. Levei um minuto para encontrar.
existem três seções nas configurações de administração para o aplicativo, e as seções superior e inferior têm botões de salvar, mas a do meio (para provedores personalizados) não. Não está claro qual usar para salvar as configurações personalizadas do discourse. Resposta: ambos funcionam da mesma maneira.
existem muitas configurações de aplicativo. estas parecem funcionar melhor para minha configuração:
disable auto create new users = permite que novos usuários sejam criados no nextcloud se eles existirem no discourse
allow users to connect social logins with their account = permite que usuários existentes optem por fazer login via discourse ( não consigo descobrir como definir como padrão permitir que usuários façam login via discourse)
update user profile every login = sincroniza grupos do discourse com grupos do nextcloud toda vez que eles fazem login. ( não sincroniza corretamente nome de usuário, nome, bio e outras informações de perfil)
do not prune not available user groups on login ( não sei o que isso faz, mas está habilitado por padrão. Suspeito que impede a remoção do usuário de grupos existentes do nextcloud se eles não forem mapeados do discourse?)
automatically create groups if they do not exist = desabilitado porque cria alguns nomes de grupo feios que replicam grupos que vocĂŞ deseja (veja abaixo)
restrict login for users without mapped groups = desabilitado
restict login for users without assigned groups = desabilitado
hide default login = incentiva os usuários a fazer login via discourse, embora ainda seja possĂvel fazer login diretamente com o nome de usuário/email e senha do nextcloud.
Perdi o acesso de administrador imediatamente na primeira vez que tentei, antes de criar mapeamentos de grupo. Para recuperá-lo, tive que ir para a linha de comando e executar occ group:adduser admin USERNAME
VocĂŞ deve usar senhas de dispositivo em vez disso. A senha do Nextcloud pode ser diferente da senha do Discourse, o que levaria Ă confusĂŁo e pularia o SSO.
Acho que esses sĂŁo problemas gerais com a interface do usuário do Nextcloud e nĂŁo especĂficos do aplicativo.
Defina a opção social_login_auto_redirect como true, conforme descrito na seção de configuração se você quiser ocultar completamente o login do Nextcloud.
Defini social_login_auto_redirect agora como você sugere e funcionará bem assim que todos estiverem configurados para usar o discourse. Por enquanto, funciona bem para mim pessoalmente, mas não para qualquer outra pessoa que use esses sites. Eles não poderão fazer login.
Não está 100% claro o que você quer dizer com senhas de dispositivo - olhei o link que você forneceu, mas as capturas de tela das preferências do usuário nessa página não se parecem com a minha instância do nextcloud. Talvez estejamos em uma versão diferente? Estou na 23.0.0, no canal de atualização estável. Ou talvez haja um aplicativo que eu precise instalar?
Não tenho certeza se entendi seu problema atual corretamente, mas presumo que seu problema sejam os usuários existentes, que não têm “conta de login social conectada”. Quando todos os usuários estiverem conectados, tudo ficaria bem?
Quando mudei para o aplicativo sociallogin, conectei os usuários existentes com uma consulta SQL simples. Exporte a lista de usuários do Discourse e insira um mapeamento para o [nome interno]-[userid] (por exemplo, kb2-3797) para os nomes de usuário existentes do Nextcloud na tabela sociallogin_connect no banco de dados do nextcloud. Quais campos você usa para mapeamento (por exemplo, nome de usuário ou e-mail) depende da sua configuração.
A captura de tela parece um pouco desatualizada, mas tenho uma tabela muito semelhante (incluindo o “botĂŁo para criar uma nova senha especĂfica do dispositivo”) quando abro /settings/user/security na minha instância estável do Nextcloud 23.0. VocĂŞ pode postar uma captura de tela da sua página?
Não demorará muito para corrigir meus usuários existentes - tenho apenas alguns deles em meu site. Mas, em termos de uma solução de longo prazo e replicável que funcione para todos que buscam usar o discourse como provedor de autenticação para o nextcloud, parece que faria sentido permitir apenas um usuário por endereço de e-mail e combiná-los automaticamente com base no endereço de e-mail. Não deve haver necessidade de os usuários fazerem nada para que isso aconteça.
Veja como está minha página /settings/user/security.
Ok, isso faz sentido, embora a linguagem seja um pouco confusa. Acho que entendi agora. Para novos usuários que nunca fizeram login diretamente no Nextcloud e desejam instalar o aplicativo, eles precisam usar o botão Criar nova senha de aplicativo para criar uma nova “senha de aplicativo” para usá-la. Idealmente, seria uma senha por dispositivo, mas não precisa ser.
Continuarei acompanhando o GitHub para ver se posso ajudar a esclarecer a documentação e resolver alguns problemas de integração. Mas, por enquanto, eu diria que @paroga você finalmente resolveu esta solicitação de suporte de 2017!