Apicurio-studio: Não é possível vincular o Github empresarial a Apicurio

Criado em 8 dez. 2020  ·  21Comentários  ·  Fonte: Apicurio/apicurio-studio

Oi,
Segui: https://www.apicur.io/studio/docs/setting-up-keycloak-for-use-with-apicurio para ter nosso Github como provedor de identidade com APicurio rodando localmente em nosso sistema.

Podemos ver que a opção de login com github está lá:
Screenshot 2020-12-08 at 10 53 33 AM

Mas ao clicar na opção de login do Github, estamos sendo redirecionados aqui:
Screenshot 2020-12-08 at 10 55 14 AM

Você pode ajudar no que pode ter dado errado?

question

Comentários muito úteis

Olá @EricWittmann
Levantou o PR https://github.com/Apicurio/apicurio.github.io/pull/11
Obrigado

Todos 21 comentários

Este é o aplicativo oauth que registrei em nosso github:
Uploading Screenshot 2020-12-08 at 10.57.50 AM.png…

Além disso, este github é interno de nossa organização: https://gecgithub01.walmart.com/
Mas, ao fazer o login, sou direcionado para minha página pessoal no github.

A captura de tela do aplicativo OAuth não apareceu. Não consigo dizer na página 404 do github o que pode estar errado. No entanto, Keycloak tem alguma documentação adicional sobre isso aqui:

https://www.keycloak.org/docs/latest/server_admin/index.html#github

Dê uma olhada nisso e veja se isso ajuda. Sem mais informações (por exemplo, capturas de tela dos parâmetros de configuração reais no Keycloak e no Github), não posso ajudar mais. :(

Desculpe por isso.
Aqui está a captura de tela do aplicativo que criamos em nosso gecgithub:

Screenshot 2020-12-08 at 10 57 50 AM

E a configuração do keycloak para o provedor de identidade é:
Screenshot 2020-12-08 at 7 19 31 PM

É possível que isso esteja acontecendo porque estou configurando o github como provedor de identidade no keycloak, enquanto o cliente e os segredos pertencem ao aplicativo oauth criado no

Ah ha! Eu não coloquei isso junto inicialmente. Você está tentando se integrar a uma instância do GitHub Enterprise, não ao github.com. Achei que você estava se referindo a uma organização privada no github.com. Meu erro.

Então, sim - você precisará de alguma configuração diferente. Em vez de configurar um provedor de identidade github.com no Keycloak, você precisará configurar um provedor de identidade OpenID Connect v1.0 . A boa notícia é que estou confiante de que isso é possível sem muitos problemas. A má notícia é que não tenho esse caso de uso específico documentado, porque não tenho acesso a uma instalação do GitHub Enterprise que possa usar para testar e verificar as etapas de configuração.

Nós temos documentação sobre como configurar um servidor local Git Lab, que é exatamente o que você quer fazer, mas com GitHub Empresa em vez de gitlab CE. Aqui está o artigo do GitLab para referência:

https://www.apicur.io/studio/docs/using-a-local-installation-of-gitlab

Você pode tentar adaptar as informações desse artigo à sua situação.

Para tornar isso ainda mais complicado (espero não estar assustando você), há um problema com o uso do tipo de provedor de identidade Keycloak OpenID Connect com GitHub Enterprise. O problema é discutido aqui: https://github.com/Apicurio/apicurio-studio/issues/831

Temos uma solução para esse problema na forma de uma extensão Keycloak personalizada que fornece uma versão configurável do conector social Keycloak GitHub padrão. Você pode encontrar essa extensão (com a documentação Leiame) aqui:

https://github.com/Apicurio/apicurio-keycloak-extensions

Ignore a seção GitLab do leia-me e concentre-se na seção GitHub. 👍

@EricWittmann
Analisei a documentação que você forneceu: https://www.apicur.io/studio/docs/using-a-local-installation-of-gitlab

Desculpe, mas tenho algumas perguntas básicas:
1) Estou usando o início rápido para configurar o Apicurio localmente em meu sistema.
Então, onde exatamente esse ambiente precisa ser definido?
APICURIO_GITLAB_API_URL = "https://gitlab.example.com"
exportar APICURIO_GITLAB_API_URL
2) Qual é exatamente a variável de ambiente que devo definir - APICURIO_GITHUB_API_URL?

Para GitHub, existem duas variáveis ​​de ambiente que você deve definir (ou você pode usar as propriedades do sistema). Estes são:

https://github.com/Apicurio/apicurio-studio/blob/master/back-end/hub-core/src/main/java/io/apicurio/hub/core/config/HubConfiguration.java#L46 -L50
image

Você pode usar a abordagem variável de ambiente ou a abordagem de propriedade do sistema. Se estiver usando env vars, algo assim:

export APICURIO_GITHUB_URL=https://mygithub.example.com
export APICURIO_GITHUB_API_URL=https://api.mygithub.example.com
$STUDIO_HOME/bin/standalone.sh -b 0.0.0.0 -c standalone-apicurio.xml

Se quiser usar as propriedades do sistema, você pode adicioná-las ao lugar certo no arquivo standalone-apicurio.xml encontrado no início rápido (em standalone/configuration ) ou adicioná-las à linha de comando:

$STUDIO_HOME/bin/standalone.sh \
    -Dapicurio.hub.github.url=https://mygithub.example.com \
    -Dapicurio.hub.github.api=https://api.mygithub.example.com \
    -b 0.0.0.0 -c standalone-apicurio.xml

Sei que você está apenas tentando fazer com que isso funcione (etapa 1), mas gostaria de mencionar que não é recomendado usar o Início rápido na produção. Isso se destina a ser uma implantação de avaliação (comece rápido). Se o seu plano é executar algo em produção, eu sugiro fortemente fazer isso usando as imagens do docker (via docker compose, kubernetes ou OpenShift).

OK. Muito obrigado @EricWittmann
Vou tentar fazer isso.

@EricWittmann
Tentei as etapas que você sugeriu. Cheguei até a clonar e construir o https://github.com/Apicurio/apicurio-keycloak-extensions e, em seguida, coloquei o jar no diretório keycloak autônomo / implantações conforme fornecido no Leiame.

E então estou usando este comando para iniciar minha instância keycloak local:
./bin/standalone.sh -Dapicurio.hub.github.baseUrl = https://gecgithub01.walmart.com -Dapicurio.hub.github.apiUrl = https://gecgithub01.walmart.com/api/v3

Mesmo assim, o GitHub Enterprise não está sendo listado na lista suspensa Provedores de identidade.
Screenshot 2020-12-09 at 4 12 37 PM

Eu preciso realizar alguma outra ação também?

Qual versão do Keycloak você está usando? Vou tentar reproduzir.

Observação: é possível que você não tenha o GitHub nessa lista porque você já tem um conector social GitHub criado. Talvez tente excluir esse e ver se o menu suspenso muda. Acho isso porque não vejo nenhuma entrada "GitHub" na lista. E ambos têm o mesmo valor integrado para "id do provedor" de github .

@EricWittmann
Na verdade, o problema foi resolvido após a exclusão do provedor de identidade github.
Agora posso ver a entrada corporativa do Github no menu suspenso.
Muito obrigado por sua ajuda e apoio.

OK ótimo! Parece que tudo está indo bem. Vou fechar isso por agora, mas sinta-se à vontade para reabri-lo se precisar de suporte adicional.

Além disso, se tudo estiver funcionando da maneira que deseja, considere contribuir com a documentação sobre como configurar o Studio com GitHub Enterprise. Seria muito apreciado! :)

Certamente eu ficaria feliz em contribuir com a documentação do github enterprise, pois temos as coisas funcionando conforme o esperado.
Deixe-me saber o espaço onde posso começar a documentar ou o procedimento para isso.
Obrigado

Isso seria incrível, obrigado! A documentação do Studio está localizada aqui:

https://github.com/Apicurio/apicurio.github.io/tree/master/_pages/studio/docs

Eu sugeriria fazer uma cópia de using-a-local-installation-of-gitlab.md e usá-lo como um modelo para uma versão específica do GitHub dele. :)

@EricWittmann
Eu criei a documentação.
Deixe-me saber como posso colocá-lo no código-fonte ou como posso aumentar o PR para ele.
Obrigado

Isso é ótimo! Se você quiser bifurcar esse repositório e enviar um PR, isso seria ótimo. Se você quiser anexar o arquivo a este problema ou enviá-lo para mim, tudo bem (meu endereço de e-mail está no meu perfil do GitHub).

Olá @EricWittmann
Levantou o PR https://github.com/Apicurio/apicurio.github.io/pull/11
Obrigado

Fantástico, muito obrigado!

Esta página foi útil?
0 / 5 - 0 avaliações