Adicione login social ao seu grupo de usuários - Amazon Cognito

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Adicione login social ao seu grupo de usuários

Oferecer aos usuários a capacidade de fazer login em seu aplicativo por meio de seus provedores de identidade públicos ou sociais existentes pode melhorar sua experiência de autenticação. Os grupos de usuários do Amazon Cognito se integram a provedores de identidade social (IdPs) populares, como Facebook, Google, Amazon e Apple, oferecendo aos usuários opções de login convenientes com as quais eles já estão familiarizados.

Ao configurar o login social, você oferece aos usuários uma alternativa à criação de uma conta dedicada apenas para seu aplicativo. Isso pode melhorar as taxas de conversão e tornar o processo de inscrição mais simples. Do ponto de vista do usuário, ele pode aplicar suas credenciais sociais existentes para se autenticar rapidamente, sem o atrito de lembrar outro nome de usuário e senha.

Configurar um IdP social em seu grupo de usuários envolve algumas etapas importantes. Você deve registrar seu aplicativo no provedor social para obter um ID de cliente e um segredo. Em seguida, você pode adicionar a configuração do IdP social ao seu grupo de usuários, especificando os escopos que você deseja solicitar e os atributos do grupo de usuários que você deseja mapear a partir dos atributos do IdP. Em tempo de execução, o Amazon Cognito gerencia a troca de tokens com o provedor, mapeia os atributos do usuário e emite tokens para seu aplicativo no formato de grupo de usuários compartilhado.

Inscrever-se com um IdP social

Antes de criar um IdP social com o Amazon Cognito, é necessário registrar sua aplicação no IdP social para receber um ID do cliente e a chave secreta do cliente.

  1. Crie uma conta de desenvolvedor com o Facebook.

  2. Faça login com as credenciais do Facebook.

  3. No menu My Apps (Meus aplicativos), escolha Create New App (Criar novo aplicativo).

    Se você não tiver um aplicativo do Facebook existente, verá uma opção diferente. Escolha Criar aplicativo.

  4. Na página Criar uma aplicação, selecione um caso de uso para a aplicação e escolha Próximo.

  5. Forneça um nome para a aplicação do Facebook e escolha Criar ID da aplicação.

  6. Na barra de navegação à esquerda, selecione Configurações da aplicação e, depois, selecione Básico.

  7. Anote o App ID (ID do aplicativo) e a App Secret (Chave secreta do aplicativo). Você poderá usá-los na próxima seção.

  8. Escolha + Adicionar plataforma na parte inferior da página.

  9. Na tela Selecionar plataforma, selecione suas plataformas e escolha Avançar.

  10. Escolha Salvar alterações.

  11. Para App Domains (Domínios da aplicação), insira o domínio do grupo de usuários.

    https://your_user_pool_domain
  12. Escolha Salvar alterações.

  13. Na barra de navegação, escolha Produtos e, em seguida, escolha Configurar a partir do login do Facebook.

  14. No menu Configurar de Login com Facebook, selecione Configurações.

    Insira seu redirecionamento URL em Redirecionamento válido OAuth. URIs O redirecionamento URL consiste em seu domínio do grupo de usuários com o /oauth2/idpresponse endpoint.

    https://your_user_pool_domain/oauth2/idpresponse
  15. Escolha Salvar alterações.

  1. Crie uma conta de desenvolvedor com a Amazon.

  2. Faça login com as credenciais da Amazon.

  3. Você precisa criar um perfil de segurança da Amazon para receber o ID do cliente e a chave secreta do cliente da Amazon.

    Escolha Aplicativos e serviços na barra de navegação na parte superior da página e, em seguida, escolha Login with Amazon.

  4. Escolha Create a Security Profile (Criar um perfil de segurança).

  5. Insira um nome de perfil de segurança, uma descrição do perfil de segurança e um Aviso de privacidade de consentimento URL.

  6. Escolha Salvar.

  7. Selecione Client ID (ID de cliente) e Client Secret (Segredo de cliente) para mostrar o ID e o segredo do cliente. Você poderá usá-los na próxima seção.

  8. Passe o cursor sobre o ícone de engrenagem e escolha Web Settings (Configurações da Web) e, em seguida, escolha Edit (Editar).

  9. Insira o domínio do grupo de usuários em Allowed Origins (Origens permitidas).

    https://<your-user-pool-domain>
  10. Insira seu domínio do grupo de usuários com o /oauth2/idpresponse endpoint em Allowed Return URLs.

    https://<your-user-pool-domain>/oauth2/idpresponse
  11. Escolha Salvar.

Para mais informações sobre OAuth 2.0 na plataforma Google Cloud, consulte Saiba mais sobre autenticação e autorização na documentação do Google Workspace for Developers.

  1. Crie uma conta de desenvolvedor com o Google.

  2. Faça login no Console do Google Cloud Platform.

  3. Na barra de navegação superior, escolha Select a project (Selecionar um projeto). Se você já tiver um projeto na plataforma do Google, esse menu exibirá seu projeto padrão.

  4. Selecione NEWPROJECT.

  5. Insira um nome para seu produto e escolha CREATE.

  6. Na barra de navegação esquerda, escolha Serviços APIs e, em seguida, escolha Tela de consentimento do Oauth.

  7. Insira as informações do aplicativo, um domínio do aplicativo, domínios autorizados e informações de contato do desenvolvedor. Seus domínios autorizados devem incluir amazoncognito.com a raiz do seu domínio personalizado. Por exemplo: example.com. Escolha SAVEANDCONTINUE.

  8. 1. Em Escopos, escolha Adicionar ou remover escopos e escolha, no mínimo, os seguintes OAuth escopos.

    1. .../auth/userinfo.email

    2. .../auth/userinfo.profile

    3. OpenID

  9. Em Test users (Testar usuários), escolha Add Users (Adicionar usuários). Insira seu endereço de e-mail e quaisquer outros usuários de teste autorizados e, em seguida, escolha SAVEANDCONTINUE.

  10. Expanda a barra de navegação esquerda novamente, escolha Serviços APIs e, em seguida, escolha Credenciais.

  11. Escolha e CREATECREDENTIALS, em seguida, escolha ID OAuth do cliente.

  12. Escolha um Application type (Tipo de aplicação) e forneça ao seu cliente um Name (Nome).

  13. Em JavaScript Origens autorizadas, escolha ADDURI. Insira o domínio de seu grupo de usuários.

    https://<your-user-pool-domain>
  14. Em Redirecionamento autorizado URIs, escolha ADDURI. Insira o caminho para o endpoint /oauth2/idpresponse do domínio de seu grupo de usuários.

    https://<your-user-pool-domain>/oauth2/idpresponse
  15. Escolha CREATE.

  16. Armazene com segurança os valores que o Google exibe em Seu ID de cliente e Seu segredo do cliente. Forneça esses valores ao Amazon Cognito quando você adicionar um IdP do Google.

Para obter mais informações sobre como configurar o login com a Apple, consulte Configuring Your Environment for Sign in with Apple (Configurar o ambiente para login com a Apple) na documentação do Apple Developer.

  1. Crie uma conta de desenvolvedor com a Apple.

  2. Faça login com as credenciais da Apple.

  3. Na barra de navegação à esquerda, escolha Certificates, Identifiers & Profiles (Certificados, identificadores e perfis).

  4. Na barra de navegação à esquerda, escolha Identifiers (Identificadores).

  5. Na página Identifiers (Identificadores), escolha o ícone +.

  6. Na página Registrar um novo identificador, escolha Aplicativo eIDs, em seguida, escolha Continuar.

  7. Na página Selecionar um tipo, escolha Aplicativo e, em seguida, escolha Continuar.

  8. Na página Register an App ID (Registrar ID de uma aplicação), faça o seguinte:

    1. Em Description (Descrição), insira uma descrição.

    2. Em App ID Prefix (Prefixo do ID da aplicação), insira um Bundle ID (ID do pacote). Anote o valor em App ID Prefix (Prefixo do ID da aplicação). Você usará esse valor após escolher a Apple como seu provedor de identidade em Etapa 2: adicionar um IdP social ao seu grupo de usuários.

    3. Em Capabilities (Recursos), escolha Sign In with Apple (Fazer login com a Apple) e, depois, selecione Edit (Editar).

    4. Na página Entrar com a Apple: Configuração do ID do aplicativo, escolha configurar o aplicativo como principal ou agrupado com outro aplicativo IDs e escolha Salvar.

    5. Escolha Continue (Continuar).

  9. Na página Confirm your App ID (Confirmar ID do seu app), escolha Register (Registrar).

  10. Na página Identifiers (Identificadores), escolha o ícone +.

  11. Na página Registrar um novo identificador, escolha Serviços eIDs, em seguida, escolha Continuar.

  12. Na página Register a Services ID (Registrar um ID de serviços), faça o seguinte:

    1. Em Description (Descrição), insira uma descrição.

    2. Em Identifier (Identificador), insira um identificador. Anote essa ID de serviços porque você precisará desse valor depois de escolher a Apple como seu provedor de identidade emEtapa 2: adicionar um IdP social ao seu grupo de usuários.

    3. Escolha Continuar e, depois, Registrar.

  13. Escolha a ID de serviços que você acabou de criar na página Identificadores.

    1. Selecione Sign In with Apple (Fazer login com a Apple) e escolha Configure (Configurar).

    2. Na página Web Authentication Configuration (Configuração da autenticação web), selecione o ID da aplicação que você criou anteriormente como o Primary App ID (ID da aplicação principal).

    3. Escolha o ícone + ao lado do site URLs.

    4. Em Domains and subdomains (Domínios e subdomínios), insira o domínio do grupo de usuários sem um prefixo https://.

      <your-user-pool-domain>
    5. Em Return URLs, insira o caminho para o /oauth2/idpresponse endpoint do seu domínio do grupo de usuários.

      https://<your-user-pool-domain>/oauth2/idpresponse
    6. Escolha Avançar e, em seguida, escolha Concluído. Não é necessário verificar o domínio.

    7. Escolha Continue (Continuar) e, depois, Save (Salvar).

  14. No painel de navegação à esquerda, selecione Keys (Chaves).

  15. Na página Keys (Chaves), escolha o ícone +.

  16. Na página Register a New Key (Registrar uma chave nova), faça o seguinte:

    1. Em Key Name (Nome da chave), insira um nome de chave.

    2. Escolha Sign In with Apple (Fazer login com a Apple) e escolha Configure (Configurar).

    3. Na página Configurar chave, selecione a ID do aplicativo que você criou anteriormente como a ID principal do aplicativo. Escolha Salvar.

    4. Escolha Continue (Continuar) e, depois, Register (Registrar).

  17. Na página Baixar sua chave, escolha Baixar para baixar a chave privada, anote a ID da chave exibida e escolha Concluído. Você precisará dessa chave privada e do valor de Key ID (ID da chave) mostrado nesta página depois de escolher a Apple como provedor de identidade no Etapa 2: adicionar um IdP social ao seu grupo de usuários.

Adicionar um IdP social ao seu grupo de usuários

Nesta seção, você configura um IdP social no grupo de usuários usando o ID e a chave secreta do cliente da seção anterior.

Para configurar um provedor de identidade social do grupo de usuários com o AWS Management Console
  1. Acesse o console do Amazon Cognito. Você pode ser solicitado a fornecer suas AWS credenciais.

  2. Escolha User Pools (Grupos de usuários).

  3. Escolha um grupo de usuários existente na lista ou crie um grupo de usuários.

  4. Escolha a guia Sign-in experience (Experiência de acesso). Localize Federated sign-in (Acesso federado) e selecione Add an identity provider (Adicionar um provedor de identidade).

  5. Selecione um provedor de identidade social: Facebook, Google, Login with Amazon ou Sign in with Apple.

  6. Escolha entre as seguintes etapas, com base em sua opção de provedor de identidade social:

    • Google e Login with Amazon — Insira o ID do cliente do aplicativo e o segredo do cliente do aplicativo que foram gerados na seção anterior.

    • Facebook — insira o ID do cliente do aplicativo e o segredo do cliente do aplicativo que foram gerados na seção anterior e escolha uma API versão (por exemplo, versão 2.12). Recomendamos escolher a versão mais recente possível. Cada Facebook API tem um ciclo de vida e uma data de suspensão de uso. Os escopos e atributos do Facebook podem variar entre as API versões. Recomendamos testar seu login de identidade social com o Facebook para garantir que a federação funciona como previsto.

    • Faça login com a Apple — Insira o ID de serviços, ID da equipe, ID da chave e chave privada que foram gerados na seção anterior.

  7. Insira os nomes dos escopos autorizados que você deseja usar. Os escopos definem quais atributos do usuário (como name e email) você deseja acessar com a aplicação. Para o Facebook, eles devem estar separados por vírgulas. Para o Google e o Login with Amazon, eles devem estar separados por espaços. Para Sign in with Apple, marque a caixa de seleção dos escopos que deseja acessar.

    Provedor de identidade social Escopos de exemplo
    Facebook public_profile, email
    Google profile email openid
    Login with Amazon profile postal_code
    Fazer login com a Apple email name

    O consentimento do usuário da aplicação é solicitado para o fornecimento desses atributos à sua aplicação. Para mais informações sobre os escopos de provedores sociais, consulte a documentação do Google, Facebook, Login with Amazon ou do Sign in with Apple.

    Em caso de acesso com Sign in with Apple, a seguir apresentamos os cenários de usuário cujos escopos talvez não sejam retornados:

    • Um usuário final encontra falhas após sair da página de login da Apple (elas podem ser causadas por falhas internas no Amazon Cognito ou por qualquer coisa escrita pelo desenvolvedor).

    • O identificador de ID do serviço é usado em grupos de usuários e/ou outros serviços de autenticação.

    • Um desenvolvedor adiciona outros escopos depois que o usuário faz login. Os usuários só recuperam novas informações quando se autenticam e atualizam seus tokens.

    • Um desenvolvedor exclui o usuário e, em seguida, o usuário faz login novamente sem remover o aplicativo do perfil de ID Apple.

  8. Mapeie atributos do provedor de identidade para o grupo de usuários. Para obter mais informações, consulte Coisas a saber sobre mapeamentos.

  9. Escolha Criar.

  10. Na guia App client integration (Integração de cliente da aplicação), escolha um dos App clients (Clientes da aplicação) na lista e escolha Edit hosted UI settings (Editar configurações da interface do usuário hospedada). Adicione o novo provedor de identidade social ao cliente da aplicação em Identity providers (Provedores de identidade).

  11. Escolha Salvar alterações.

Testar a configuração do IdP social

Você pode criar um login URL usando os elementos das duas seções anteriores. Use-o para testar a configuração do IdP social.

https://mydomain.us-east-1.amazoncognito.com/login?response_type=code&client_id=1example23456789&redirect_uri=https://www.example.com

Você pode encontrar o domínio na página do console Domain name (Nome do domínio) do grupo de usuários. O client_id está na página App client settings (Configurações de cliente de aplicação). Use seu retorno de chamada URL para o parâmetro redirect_uri. Esta é a URL página para a qual seu usuário será redirecionado após uma autenticação bem-sucedida.

nota

O Amazon Cognito cancela solicitações de autenticação que não são concluídas em 5 minutos e redireciona o usuário para a interface do usuário hospedada. A página exibe a mensagem de erro Something went wrong (Ocorreu algum problema).