Como configurar o Google como um provedor de identidades federado em um grupo de usuários do Amazon Cognito?

7 minuto de leitura
0

Quero usar o Google como um provedor de identidades (IdP) federado em um grupo de usuários do Amazon Cognito.

Resolução

Os grupos de usuários do Amazon Cognito permitem o login por meio de terceiros (federação). Isso inclui através de um IdP social, como Google ou Facebook. Para obter mais informações, consulte Como adicionar provedores de identidade social a um grupo de usuários.

Crie um grupo de usuários do Amazon Cognito com um cliente de aplicação e um nome de domínio

  1. Crie um grupo de usuários.
    Observação: o atributo padrão email é selecionado por padrão durante a criação. Para obter mais informações, consulte Atributos de grupo de usuários.
  2. Crie um cliente de aplicação no seu grupo de usuários. Para obter mais informações, consulte Adicionar um cliente da aplicação e configurar a interface do usuário hospedada.
  3. Adicione um nome de domínio ao grupo de usuários.

Crie um projeto do Google API Console

Se você já tem um projeto, crie um novo projeto:

  1. Faça login no Google API Console com sua conta do Google. Para obter mais informações, consulte Manage APIs in the API console no site de Ajuda do Google.
  2. No Painel (APIs e serviços), escolha CRIAR.
  3. Em Novo projeto, insira um Nome de projeto.
  4. Em Local, escolha PROCURAR e selecione um local.
  5. Escolha CRIAR.

Para obter mais informações, consulte a documentação Fazer login com o Google para Web no site do Google Identity.

Configure a tela de permissão OAuth

  1. No Google API Console, no painel de navegação esquerdo, escolha Tela de permissão OAuth.
  2. Preencha o formulário da tela de permissão. No mínimo, faça o seguinte:
    Em Nome da aplicação, insira um nome.
    Em Domínios autorizados, digite amazoncognito.com.
    Importante: você deve inserir esse domínio ou não poderá usar seu domínio do Amazon Cognito posteriormente ao criar um ID de cliente OAuth.
  3. Escolha Salvar. Você será redirecionado para a página Credenciais.

Para obter mais informações, consulte Preencher a tela de permissão OAuth no site do Google Workspace.

Obtenha as credenciais do cliente OAuth 2.0

  1. No Console de APIs do Google, na página Credenciais, escolha Criar credenciais. Em seguida, escolha ID do cliente OAuth.
  2. Na página Criar ID do cliente OAuth, em Tipo de aplicação, escolha Aplicação da Web.
  3. Faça o seguinte:
    Insira um Nome para o ID do cliente OAuth.
    Para origens autorizadas de JavaScript, insira seu domínio do Amazon Cognito. Por exemplo: https://yourDomainPrefix.auth.region.amazoncognito.com.
    Observação: substitua yourDomainPrefix e region pelos valores do grupo de usuários. Encontre esses valores no console do Amazon Cognito na página Nome de domínio do grupo de usuários.
    Em URIs de redirecionamento autorizados, digite https://yourDomainPrefix.auth.region.amazoncognito.com/oauth2/idpresponse.
    Observação: substitua yourDomainPrefix e region pelos valores do grupo de usuários. Consulte a etapa anterior para obter mais informações.
  4. Na caixa de diálogo do Cliente OAuth, encontre o ID do cliente e o segredo do cliente e anote-os para usar mais tarde. Você precisará deles ao configurar o Google em seu grupo de usuários do Amazon Cognito.

Para obter mais informações, consulte Como usar o OAuth 2.0 para acessar as APIs do Google no site do Google Identity.

Configure o Google como um IdP federado em seu grupo de usuários

  1. No console do Amazon Cognito, escolha Grupos de usuários.
  2. Selecione o grupo de usuários que você deseja usar.
  3. Escolha a guia Experiência de login.
  4. Em Login do provedor de identidades federado, escolha Adicionar provedor de identidades.
  5. Selecione Google. Em seguida, em Configurar a federação do Google com esse grupo de usuários:
    Em ID do cliente, cole o ID do cliente que você anotou na etapa anterior.
    Em Segredo do cliente, cole o segredo do cliente anotado na etapa anterior.
    Em Escopos autorizados, insira profile email OpenID.
  6. Em Atributos do mapa entre o Google e seu grupo de usuários:
    Para o atributo do grupo de usuários do atributo e-mail, mapeie para o atributo do Google de e-mail.
    Escolha Adicionar outro atributo e mapeie o atributo do grupo de usuários de nome de usuário para o atributo do Google de nome de usuário.
  7. Escolha Adicionar provedor de identidades.

Altere as configurações do cliente da aplicação para o grupo de usuários

Observação: nas configurações do cliente da aplicação, os atributos mapeados do grupo de usuários devem ser graváveis. Para obter mais informações, consulte Como especificar mapeamentos de atributos do provedor de identidade para seu grupo de usuários.

  1. No console do Amazon Cognito, escolha seu grupo de usuários.
  2. Escolha a guia Integração de aplicações.
  3. Em Lista de clientes de aplicações, selecione Criar cliente de aplicação.
  4. Em Tipo de aplicação, selecione Cliente público. Em seguida, insira um nome para o cliente da aplicação.
    Para Fluxos de autenticação, selecione ALLOW_USER_PASSWORD_AUTH e ALLOW_REFRESH_TOKEN_AUTH.
    Em URL(s) de retorno de chamada Permitidos, insira um URL para o qual você deseja que seus usuários sejam redirecionados após o login. Para testar, insira qualquer URL válido, como https://www.exemplo.com/.
    Em URL(s) de saída, insira o URL para o qual você deseja que seus usuários sejam redirecionados depois que saírem. Para testar, insira qualquer URL válido, como https://www.exemplo.com/.
    Em Provedores de identidades, selecione Grupo de usuários do Cognito e Google.
    Em Tipo de concessão do OAuth 2.0, selecione Concessão implícita.
    Em Escopos do OpenID Connect, selecione email, openid e profile.
    Importante:
    o fluxo de concessão implícita do OAuth serve apenas para fins de teste. É uma prática recomendada usar a concessão de código de autorização para sistemas de produção.
  5. Escolha Criar cliente de aplicação.

Para obter mais informações, consulte Terminologia das configurações do cliente da aplicação.

Estruture o URL do endpoint

Usando valores do seu grupo de usuários, crie este URL do endpoint de login para a interface de usuário da Web do Amazon Cognito: https://yourDomainPrefix.auth.region.amazoncognito.com/login?response_type=token&client_id=yourClientId&redirect_uri=redirectUrl

Observação: substitua yourDomainPrefix e region pelos valores do grupo de usuários. Encontre esses valores no console do Amazon Cognito na página Nome de domínio do grupo de usuários. Substitua yourClientId pelo ID do cliente da aplicação do Amazon Cognito e substitua redirectURL pelo URL de retorno de chamada do cliente da aplicação. Encontre esses valores no console do Amazon Cognito na página Configurações do cliente de aplicação do seu grupo de usuários.

Para obter mais informações, consulte How do I configure the hosted web UI for Amazon Cognito? e Endpoint de login.

Teste o URL do endpoint

  1. Insira o URL do endpoint de login estruturado em seu navegador da Web.
  2. Na página da Web do endpoint de login, escolha Continuar com o Google.
    Observação: se você for redirecionado para o URL de retorno de chamada do cliente da aplicação do Amazon Cognito, você já estará conectado à sua conta do Google no navegador. Os tokens do grupo de usuários aparecem no URL na barra de endereço do navegador.
  3. Em Fazer login com o Google, escolha sua conta do Google e faça login.

Depois de se autenticar com êxito, você será redirecionado para o URL de retorno de chamada do cliente da aplicação do Amazon Cognito. Os tokens Web JSON (JWT) emitidos pelo grupo de usuários aparecem no URL na barra de endereço do navegador.
Observação: em uma aplicação Web real, o URL do endpoint de login é gerado por um SDK de JavaScript. Ele também analisa os tokens JWT no URL.

Informações relacionadas

Como adicionar acesso a grupo de usuários por meio de terceiros

AWS OFICIAL
AWS OFICIALAtualizada há 8 meses