Como configurar provedores de identidade para seu grupo de usuários
Com os grupos de usuários, você pode implementar o login por meio de vários provedores de identidade externos (IdPs). Esta seção do guia tem instruções para configurar esses provedores de identidade com seu grupo de usuários no console do Amazon Cognito. Como alternativa, você pode usar a API de grupos de usuários e um SDK da AWS para adicionar programaticamente provedores de identidade de grupos de usuários. Para obter mais informações, consulte CreateIdentityProvider.
As opções de provedores de identidade compatíveis incluem provedores sociais, como Facebook, Google e Amazon, e os provedores OpenID Connect (OIDC) e SAML 2.0. Antes de começar, configure suas credenciais administrativas para seu IdP. Para cada tipo de provedor, você precisará registrar a aplicação, obter as credenciais necessárias e, em seguida, configurar os detalhes do provedor em seu grupo de usuários. Seus usuários podem então se inscrever e acessar a aplicação com as contas existentes dos provedores de identidade conectados.
A guia Experiência de login, em Login do provedor de identidades federado adiciona e atualiza os IdPs do grupo de usuários. Para ter mais informações, consulte Como adicionar acesso a grupo de usuários por meio de terceiros.
Tópicos
Configurar o acesso do usuário com um IdP social
É possível usar a federação para integrar grupos de usuários do Amazon Cognito com provedores de identidade social, como o Facebook, o Google e o Login with Amazon.
Para adicionar um provedor de identidade social, primeiro é necessário criar uma conta de desenvolvedor com o provedor de identidade. Depois de criar sua conta de desenvolvedor, registre a aplicação no provedor de identidade. O provedor de identidade cria um ID da aplicação e um segredo para a aplicação e esses valores são configurados no grupo de usuários do Amazon Cognito.
Como integrar o login do usuário a um IdP social
-
Faça login no console do Amazon Cognito
. Se solicitado, insira suas credenciais da AWS. -
No painel de navegação, escolha User Pools (Grupos de usuários) e escolha o grupo de usuários que deseja editar.
-
Escolha a guia Sign-in experience (Experiência de login) e localize Federated sign-in (Acesso federado).
-
Escolha Add an identity provider (Adicionar um provedor de identidade) ou o provedor de identidade Facebook, Google, Amazon ou Apple que você configurou, localize Identity provider information (Informações do provedor de identidade) e escolha Edit (Editar). Para obter mais informações sobre como adicionar provedores de identidade social, consulte Como usar provedores de identidade social com um grupo de usuários.
-
Insira as informações do provedor de identidade social concluindo uma das etapas a seguir, com base em sua escolha de IdP:
- Facebook, Google e Login with Amazon
-
Insira o ID e o segredo da aplicação recebidos ao criar a aplicação cliente.
- Sign in with Apple
-
Insira o ID de serviço fornecido à Apple, bem como o ID de equipe, o ID de chave e a chave privada recebidos ao criar o cliente da aplicação.
-
Para Authorized scopes (Escopos autorizados), insira os nomes dos escopos do provedor de identidade social que deseja mapear aos atributos do grupo de usuários. Os escopos definem quais atributos do usuário, como nome e e-mail, você deseja acessar com a aplicação. Ao inserir escopos, use as seguintes diretrizes com base em sua escolha de IdP:
-
Facebook: separe os escopos com vírgulas. Por exemplo:
public_profile, email
-
Google, Login with Amazon e Sign in with Apple: separe os escopos com espaços. Por exemplo:
-
Google:
profile email openid
-
Login with Amazon:
profile postal_code
-
Sign in with Apple:
name email
nota
Para Sign In with Apple (console), use as caixas de seleção para selecionar os escopos.
-
-
-
Escolha Salvar alterações.
-
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).
-
Escolha Salvar alterações.
Para obter mais informações sobre IdPs de redes sociais, consulte Como usar provedores de identidade social com um grupo de usuários.
Configurar o login do usuário com um IdP OIDC
É possível integrar o login do usuário a um provedor de identidade OpenID Connect (OIDC), como Salesforce ou Ping Identity.
Como adicionar um provedor OIDC a um grupo de usuários
-
Acesse o console do Amazon Cognito
. Se solicitado, insira suas credenciais da AWS. -
Escolha User Pools (Grupos de usuários) no menu de navegação.
-
Escolha um grupo de usuários existente na lista ou crie um grupo de usuários.
-
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).
-
Escolha um provedor de identidade OpenID Connect.
-
Insira um nome exclusivo em Provider name (Nome do provedor).
-
Insira o ID do cliente que você recebeu do provedor em Client ID (ID do cliente).
-
Insira o segredo do cliente que você recebeu do provedor em Client secret (Segredo do cliente).
-
Insira os Authorized scopes (Escopos autorizados) para esse provedor. Os escopos definem quais grupos de atributos do usuário (como
name
eemail
) sua aplicação solicitará ao seu provedor. Os escopos devem ser separados por espaços, seguindo a especificação OAuth 2.0. O usuário deve receber consentimento para o fornecimento desses atributos à aplicação.
-
Escolha um Attribute request method (Método de solicitação de atributos) para fornecer ao Amazon Cognito o método HTTP (GET ou POST) que ele usa para buscar os detalhes do usuário no endpoint userInfo operado pelo provedor.
-
Escolha um Setup method (Método de configuração) para recuperar endpoints OpenID Connect por meio de Auto fill through issuer URL (Preenchimento automático por meio do URL do emissor) ou Manual input (Entrada manual). Use o endpoint Auto fill through issuer URL (Preenchimento automático por meio do URL do emissor) quando o Amazon Cognito puder recuperar os URLs dos endpoints
authorization
,token
,userInfo
ejwks_uri
. -
Insira o URL do emissor ou os URLs dos endpoints
authorization
,token
,userInfo
ejwks_uri
de seu IdP.nota
Você pode usar somente os números de porta 443 e 80 com descoberta, preenchimento automático e URL inseridos manualmente. Os logins de usuários falharão se o provedor OIDC usar qualquer porta TCP não padrão.
O URL do emissor deve começar com
https://
e não pode terminar com o caractere/
. Por exemplo, Salesforce usa este URL:https://login.salesforce.com
O documento
openid-configuration
associado ao URL do emissor deve fornecer URLs HTTPS para os seguintes valores:authorization_endpoint
,token_endpoint
,userinfo_endpoint
ejwks_uri
. Da mesma forma, quando você escolhe Manual input (Entrada manual), você só pode inserir URLs HTTPS. -
Por padrão, a declaração OIDC sub é mapeada para o atributo de grupo de usuários Username (Nome de usuário). Você pode mapear outras solicitações
OIDC para atributos de grupo de usuários. Insira a solicitação OIDC e selecione o atributo de grupo de usuários correspondente na lista suspensa. Por exemplo, a solicitação email geralmente é mapeada para o atributo de grupo de usuários E-mail. -
Mapeie atributos adicionais do provedor de identidade ao seu grupo de usuários. Para mais informações, consulte Especificar mapeamentos de atributos do provedor de identidade para o grupo de usuários.
-
Escolha Criar.
-
Na guia App client integration (Integração de cliente da aplicação), selecione um dos App clients (Clientes da aplicação) na lista e Edit hosted UI settings (Editar configurações da interface do usuário hospedada). Adicione o novo provedor de identidade OIDC ao cliente da aplicação em Identity providers (Provedores de identidade).
-
Escolha Salvar alterações.
Para obter mais informações sobre IdPs OIDC, consulte Como usar provedores de identidade OIDC com um grupo de usuários.
Configurar o login do usuário com um IdP SAML
Você pode usar a federação para que os grupos de usuários do Amazon Cognito se integrem a um provedor de identidade (IdP) SAML. Forneça um documento de metadados, fazendo upload do arquivo ou inserindo um URL do endpoint de documento de metadados. Para obter informações sobre como obter documentos de metadados para IdPs SAML de terceiros, consulte Como configurar seu provedor de identidades SAML de terceiros.
Para configurar um provedor de identidade SAML 2.0 no seu grupo de usuários
-
Acesse o console do Amazon Cognito
. Se solicitado, insira suas credenciais da AWS. -
Escolha User Pools (Grupos de usuários).
-
Escolha um grupo de usuários existente na lista ou crie um grupo de usuários.
-
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).
-
Escolha um provedor de identidade SAML.
-
Insira Identifiers (Identificadores) separados por vírgulas. Um identificador direciona o Amazon Cognito para que ele confira o endereço de e-mail de login do usuário e, depois, direciona o usuário para o provedor que corresponde ao domínio dele.
-
Escolha Add sign-out flow (Adicionar fluxo de desconexão) se quiser que o Amazon Cognito envie solicitações de desconexão assinadas ao seu provedor quando um usuário se desconectar. Configure o provedor de identidade SAML 2.0 para enviar respostas de desconexão para o endpoint
https://
que o Amazon Cognito cria quando você configura a interface do usuário hospedada. O endpointmydomain.us-east-1.amazoncognito.com
/saml2/logoutsaml2/logout
usa uma associação POST.nota
Se você selecionar essa opção e seu provedor de identidade SAML esperar uma solicitação de logout assinada, você também precisará configurar o certificado de assinatura fornecido pelo Amazon Cognito com seu IdP SAML.
O IdP SAML processará a solicitação de logout assinada e fará logout do seu usuário da sessão do Amazon Cognito.
-
Selecione uma Metadata document source (Fonte de documento de metadados). Se seu provedor de identidade oferecer metadados SAML em um URL público, você pode escolher Metadata document URL (URL do documento de metadados) e inserir esse URL público. Do contrário, escolha Upload metadata document (Carregar documento de metadados) e, em seguida, um arquivo de metadados que você tenha baixado de seu provedor anteriormente.
nota
Se seu provedor tiver um endpoint público, recomendamos que você insira um URL do documento de metadados em vez de carregar um arquivo. Se você usar o URL, o Amazon Cognito atualizará os metadados automaticamente. Normalmente, a atualização de metadados ocorre a cada seis horas ou antes de os metadados expirarem, o que ocorrer primeiro.
-
Escolha Map attributes between your SAML provider and your app (Mapear atributos entre seu provedor SAML e sua aplicação) para mapear atributos do provedor SAML para o perfil de usuário em seu grupo de usuários. Inclua os atributos obrigatórios do grupo de usuários no mapa de atributos.
Por exemplo, quando escolher o User pool attribute (Atributo do grupo de usuários)
email
, insira o nome do atributo SAML como ele aparece na afirmação SAML de seu provedor de identidade. Seu provedor de identidade pode oferecer exemplos de afirmações SAML como referência. Alguns provedores de identidade usam nomes simples, comoemail
, enquanto outros usam nomes de atributos formatados com URL, semelhantes a:http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
-
Escolha Criar.
nota
Se você vir InvalidParameterException
durante a criação de um IdP SAML com um URL do endpoint de metadados HTTPS, verifique se o endpoint de metadados está com o SSL configurado corretamente e se há um certificado SSL válido associado a ele. Um exemplo dessa exceção seria “Erro ao recuperar metadados de <metadata endpoint>
”.
Para configurar o IdP SAML para adicionar um certificado de assinatura
-
Para obter o certificado que contém a chave pública que será usada pelo IdP para verificar a solicitação de logout assinada, escolha Mostrar certificado de assinatura em Provedores SAML ativos na caixa de diálogo SAML em Provedores de identidade da página Federação do console.
Para obter mais informações sobre IdPs SAML, consulte Como usar provedores de identidade SAML com um grupo de usuários.