Ir para o conteúdo

Guia de Configuração do Google OAuth

Finalidade do Documento

Descrever as etapas de configuração necessárias para configurar o Vinyl para usar o Google como um provedor de segurança externo OIDC/OAuth 2.0 para autenticação do usuário.

Introdução

A configuração da autenticação externa requer configuração no provedor de identidade e na instância do Vinyl. Em ambos os casos, são necessários direitos administrativos.

Importante

Os valores de exemplo fornecidos neste guia são representativos, mas fictícios, e não devem ser usados em configurações do mundo real. Nós estamos usando https://example.zudy.com/Vinyl como a raiz da instância nesta documentação.

Passos em Vinyl

Crie um Provedor de Segurança

  1. Faça login no Vinyl como administrador
  2. Navegue até IDE > Provedores de segurança
  3. Na seção Autenticação de usuário, clique em + Autenticação de usuário para adicionar um novo provedor de segurança
  4. Preencha os seguintes valores:

    • Nome: nome breve e descritivo do Provedor de Segurança. O ideal é evitar espaços. Isso se torna parte do caminho de autenticação do Vinyl.
    • Tipo: Autenticação Externa > OAuth
    • Prioridade: aceite a sugestão padrão ou atualize conforme sua preferência
    • Ativado: Verifique

      • Tipo de autenticação: OAuth
      • Concessão OAuth: Código de autorização
    • Autenticação de cliente OAuth: Básica

    • Autenticação de recurso OAuth: Portador
    • Proprietário do Token: Usuário
    • Redirecionar no Desafio: Verificar
    • Mostrar no formulário de login: Verifique
    • Provisionamento de usuários: Verifique
    • Reivindicações da Loja: Verifique. Isso é importante na configuração inicial e na solução de problemas, mas pode ser removido posteriormente, se desejado.
  5. Clique em Salvar

Etapas no Google Workspace/Google Cloud Platform

Nota

Observe que você deve ter acesso de administrador à conta do Google Workspace da sua organização para criar um novo projeto ou permissões para criar e configurar credenciais do OAuth 2.0 para um projeto existente.

Crie um Novo Projeto

  1. Vá para a página Gerenciar recursos no Console do Google Cloud
  2. Faça login como administrador, se solicitado
  3. Na lista suspensa Selecionar organização na parte superior da página, selecione a organização na qual deseja criar um projeto. Se você for um usuário de teste gratuito, pule esta etapa, pois isso não se aplica.
  4. Clique em Criar Projeto
  5. Na janela Novo Projeto exibida, insira um nome do projeto. O nome de um projeto pode conter apenas letras, números, aspas simples, hífens, espaços ou pontos de exclamação e deve ter entre 4 e 30 caracteres. Deve ser um nome descritivo e exclusivo que identifique o projeto. Por exemplo: autenticação de Vinyl
  6. Selecione a organização principal na caixa Organização
  7. Opcionalmente, selecione uma pasta na caixa Local. Este recurso será o pai hierárquico do novo projeto.
  8. Clique em Criar

Para referência adicional sobre a criação de projetos, consulte a documentação do Google disponível em: https://cloud.google.com/resource-manager/docs/creating-managing-projects

  1. Depois de criar o projeto, abra a página Credenciais no Google API Console. Página inicial > APIs e serviços > Credenciais
  2. Verifique o nome do projeto listado no canto superior esquerdo próximo ao logotipo para ter certeza de que está usando o projeto correto. Clique na seta suspensa para alternar projetos, se necessário.
  3. Clique em Criar credenciaisID do cliente OAuth
  4. A menos que você tenha configurado anteriormente uma tela de consentimento, você será direcionado a configurar sua tela de consentimento primeiro. A tela de consentimento será apresentada aos usuários finais quando eles acessarem o aplicativo (Vinyl) pela primeira vez usando suas credenciais do Google e solicitará que eles aceitem esse acesso à sua conta do Google. Se você já configurou uma tela de consentimento e escopos, vá para a etapa 29.

    oauth2.png

    Exemplo de configuração da tela de consentimento

  5. Clique em Configurar tela de consentimento

  6. Selecione Interno para Tipo de usuário e clique em Criar
  7. Preencha a seção Informações do aplicativo da seguinte forma:
  8. Nome do aplicativo: Insira o nome do aplicativo personalizado. Por exemplo: Instância de Vinyl. Normalmente você especificaria Dev, QA ou Prod, ou a finalidade da instância, se diferente.
  9. email de suporte ao usuário: preencha com um endereço email do administrador ou endereço de email do grupo
  10. Logotipo do aplicativo: opcionalmente, carregue um arquivo para usar como logotipo
  11. Preencha a seção Domínio do aplicativo com o URL da página inicial do aplicativo e um link para a política de privacidade e/ou termos de serviço da sua organização
  12. Em Domínios Autorizados, adicione o nome de domínio do qual a instância do Vinyl faz parte. Este pode ser o seu próprio domínio ou zudy. hospedar. Adicione vários domínios, se aplicável.
  13. Insira um endereço email de suporte para Informações de contato do desenvolvedor
  14. Clique em Salvar e Continuar
  15. Na tela Escopos identifique as informações que estão sendo solicitadas sobre o usuário, pelo Vinyl. Clique em Adicionar escopos e selecione os três escopos mostrados na captura de tela a seguir.

    oauth3.png

    Exemplo de configuração de escopos

  16. Clique em Atualizar

    Nota

    Observe que estes são considerados "escopos não sensíveis". Nenhum outro escopo é exigido pelo Vinyl.

  17. Clique em Salvar e Continuar

  18. Revise a página de resumo e clique em Voltar ao Painel
  19. Clique em Criar credenciaisID do cliente OAuth
  20. Em Tipo de Aplicativo, escolha Aplicativo Web
  21. Em Nome, digite um rótulo descritivo que identifique o aplicativo. Este valor não é usado em nenhum outro lugar. Por exemplo: Instância de Vinyl. Normalmente você especificaria Dev, QA ou Prod, ou a finalidade da instância, se diferente.
  22. Em Origens JavaScript autorizadas, forneça o URI que representa o FQDN (nome de domínio totalmente qualificado) da sua instância do Vinyl. Observe que isso não deve incluir nenhuma informação de caminho. Por exemplo: https://example.zudy.com
  23. A tela preenchida deverá ser semelhante a este exemplo:

    oauth4.png

    Exemplo de configuração de ID do cliente OAuth

  24. Um pop-up deverá aparecer contendo suas credenciais OAuth. Essas credenciais devem ser mantidas em segredo e terão formato semelhante aos exemplos fictícios abaixo. Deixe este pop-up aberto pronto para as próximas etapas de configuração.

    • Exemplos:
    • Seu ID de cliente: 825669012735-hd1oct8l1yeysoslrvtmf6b4gqkl12om.apps.googleusercontent.com
    • Seu Segredo do Cliente: CRZEXT-zd_Qa_MCZ3rArp5hkRD3B16PPDLN
  25. Isso conclui as etapas no Google Workspace/Google Cloud Platform.

Passos em Vinyl

Configurar Propriedades e Tipos de Declaração do Provedor de Segurança

  1. Retorne à página de configuração do Provedor de Serviços criada nas etapas 1 a 5.
  2. Na seção Endpoints, clique em + Endpoint e Salvar as três propriedades a seguir conforme especificado abaixo:

    • AuthorizationEndpoint: use o seguinte valor: https://accounts.google.com/o/oauth2/v2/auth
      • Observação: este não é um exemplo, é universal para a configuração do Google OAuth v2
    • TokenEndpoint: use o seguinte valor: https://www.googleapis.com/oauth2/v4/token
    • UserInfoEndpoint: use o seguinte valor: https://openidconnect.googleapis.com/v1/userinfo
  3. Na seção Credenciais, clique em + Credencial e Salvar as seguintes propriedades conforme especificado abaixo:

    • Tipo: Cliente
    • Nome de usuário: use o ID do cliente da seção anterior, etapa 32
    • Senha: use o segredo do cliente da seção anterior, etapa 32
  4. Na seção Propriedades, clique em + Propriedade e Salvar as seguintes propriedades:

    • Escopos: use os 3 valores de escopo mostrados abaixo. Separe cada string com um espaço:
      • código aberto
      • https://www.googleapis.com/auth/userinfo.email
      • https://www.googleapis.com/auth/userinfo.profile
  5. Na seção Reivindicações, clique em + Reivindicação e salve os seguintes tipos de reivindicação:

    • Identificador: email (minúsculas, sem espaços)
    • Uso: Nome
    • Nome: rótulo descritivo. Por exemplo: Nome
  6. Clique em Salvar

  7. Clique em Criar

    • Identificador: email
    • Uso: Endereço de email
    • Nome: rótulo descritivo. Por exemplo: Endereço de Email
  8. Clique em Salvar

    Nota

    O tipo de declaração de uso de endereço de email é opcional, mas garantirá que o atributo Endereço de Email do usuário do Vinyl será preenchido quando o usuário entrar no Vinyl usando o provedor de autenticação externo.

  9. Isso conclui as etapas de configuração no Vinyl

Teste

Neste ponto, a configuração está pronta para teste. Recomenda-se que todos os testes sejam realizados em novas janelas anônimas ou privadas do navegador, ou em um navegador alternativo.

Etapas de Teste

  1. Navegue até a página de login da instância do Vinyl e:

    1. Confirme se o novo método de autenticação é exibido adequadamente na página de login.
    2. Tente fazer login com o novo método de autenticação e revise o resultado. (Isso deve ser feito com um login separado daquele usado para administrar o Vinyl.)
  2. Se forem relatados erros, revise toda a configuração e confirme se os elementos necessários para correspondência estão corretos – particularmente confirmando que o segredo do cliente e o ID do cliente foram copiados do Google para o Vinyl corretamente.

  3. Se todas as configurações estiverem presentes e parecerem corretas, mas a autenticação externa ainda não estiver funcionando, entre em contato com Suporte de Vinyl.