NextCloud como provedor Oauth

1

Tenho notado que, em algumas das versões atuais do NextCloud, existe uma opção de menu do administrador para adicionar clientes do Oauth 2.0. Ao fazer isso, você recebe um ID de cliente e um segredo de cliente, como seria de esperar, além de receber um URL de redirecionamento. Agora a questão é como eu uso isso. Eu só encontrei uma única menção dela sendo usada on-line, e isso é isso .

Atualmente, estou usando o proxy Oauth2 do Bitly do github, que pode ser encontrado aqui . Meu servidor web é Nginx e estou executando o NextCloud 12. Eu tenho outro aplicativo interno que eu hospedo também, isso é executado ao lado de uma instalação vazia do GitLab e que a instalação do GitLab está sendo usada como um proxy reverso do Oauth 2 para autenticar antes chegando ao nosso software interno.

Qualquer ajuda ou ponteiros seriam ótimos, isso parece ser um recurso muito poderoso do NextCloud que tem suporte e documentação aparentemente zero.

Para ser um pouco mais específico, tentarei explicar melhor minha configuração atual e como gostaria que ela se parecesse.

Atual:

Eu tenho 3 "subsites" se você quiser:

  • GitLab: www.site.com/subsiteA/
  • NextCloud: www.site.com/subsiteB/
  • InternalSite: www.site.com/subsiteC/

O usuário acessa www.site.com/subsiteC e é retornado ao login do GitLab em www.site.com/subsiteA/ . Após o login bem-sucedido, eles são devolvidos para www.site.com/subsiteC/ .

Da mesma forma, se você for para www.site.com/subsiteB/ você está em proxy através de www.site.com/subsiteA/ , no entanto, o usuário ainda terá que entrar através do NextCloud.

(Ir para subsiteA leva você diretamente para o GtiLab)

Configuração ideal:

  • NextCloud: www.site.com/subsiteA/
  • InternalSite: www.site.com/subsiteB/

Se você for para www.site.com/subsiteB/ , será devolvido por subsiteA , mas é isso. Nesta configuração, não há necessidade de fazer login no GitLab antes de efetuar login no NextCloud.

    
por Jake Hewitt 10.07.2017 / 21:29

1 resposta

0

O Nextcloud adicionou uma seção sobre o OAuth2 à sua documentação.

Você precisará de várias informações sobre seus aplicativos clientes e sobre o Nextcloud. Aqui estão os bits mais importantes sobre nextcloud:

  • endpoint de autorização: SERVER/apps/oauth2/authorize
  • endpoint de token: SERVER/apps/oauth2/api/v1/token
  • O URL do perfil pode ser acessado como JSON: SERVER/ocs/v2.php/cloud/user?format=json ( exemplo de saída )
  • As informações do perfil são armazenadas em ocs.data.id , ocs.data.display-name , ocs.data.email e algumas outras.

Eu escrevi dois howtos:

Talvez esses sejam um bom começo para suas necessidades de configuração. Se você encontrar outros bons tutoriais, mencione-os nos comentários!

    
por 13.10.2018 / 01:48