Como usar o próprio domínio para a interface do usuário hospedada - 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á.

Como usar o próprio domínio para a interface do usuário hospedada

Depois de configurar um cliente de aplicação, você poderá configurar o grupo de usuários com um domínio personalizado para a interface do usuário hospedada e endpoints de API de autenticação do Amazon Cognito. Com um domínio personalizado, você permite que os usuários façam login no aplicativo usando o seu próprio endereço da web.

Como adicionar um domínio personalizado a um grupo de usuários

Para adicionar um domínio personalizado para seu grupo de usuários, especifique o nome de domínio no console do Amazon Cognito e forneça um certificado que você gerencia com o AWS Certificate Manager (ACM). Depois de adicionar seu domínio, o Amazon Cognito fornece um destino de alias, que você adiciona à sua configuração de DNS.

Pré-requisitos

Antes de começar, você precisa de:

  • Um grupo de usuários com um cliente de aplicativo. Para ter mais informações, consulte Conceitos básicos dos grupos de usuários.

  • Um domínio da Web do qual você é proprietário. O domínio superior deve ter um registro A DNS válido. Você pode atribuir qualquer valor a esse registro. O domínio superior pode ser a raiz do domínio ou um domínio inferior que fica um nível acima na hierarquia do domínio. Por exemplo, se o domínio personalizado for auth.xyz.exemplo.com, o Amazon Cognito precisará ser capaz de resolver xyz.exemplo.com como um endereço IP. Com o objetivo de evitar um impacto acidental na infraestrutura do cliente, o Amazon Cognito não aceita o uso de domínios de nível superior (TLDs) para domínios personalizados. Para obter mais informações, consulte Nomes de domínio.

  • A capacidade de criar um subdomínio para seu domínio personalizado. Recomendamos que você use auth como o subdomínio. Por exemplo, auth.example.com.

    nota

    Poderá ser necessário obter um novo certificado para o subdomínio do domínio personalizado se você não tiver um certificado curinga.

  • Um certificado Secure Sockets Layer (SSL) gerenciado pelo ACM.

    nota

    Você deve alterar a AWS região para Leste dos EUA (Norte da Virgínia) no console do ACM antes de solicitar ou importar um certificado.

  • Um aplicativo que permite que seu servidor de autorização do grupo de usuários adicione cookies às sessões do usuário. O Amazon Cognito define vários cookies necessários para a interface hospedada. Entre eles estão cognito, cognito-fl e XSRF-TOKEN. Embora cada cookie individual esteja em conformidade com os limites de tamanho do navegador, alterações na configuração do grupo de usuários podem fazer com que os cookies de interface do usuário hospedados aumentem de tamanho. Um serviço intermediário, como um Application Load Balancer (ALB) na frente do seu domínio personalizado, pode impor um tamanho máximo de cabeçalho ou tamanho total de cookie. Se seu aplicativo também definir seus próprios cookies, as sessões de seus usuários poderão exceder esses limites. Recomendamos que, para evitar conflitos de limite de tamanho, seu aplicativo não defina cookies no subdomínio da interface de usuário hospedada.

  • Permissão para atualizar as CloudFront distribuições da Amazon. Você pode fazer isso anexando a declaração de política do IAM a seguir a um usuário em sua Conta da AWS:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFrontUpdateDistribution", "Effect": "Allow", "Action": [ "cloudfront:updateDistribution" ], "Resource": [ "*" ] } ] }

    Para obter mais informações sobre como autorizar ações em CloudFront, consulte Usando políticas baseadas em identidade (políticas do IAM) para. CloudFront

    O Amazon Cognito inicialmente usa suas permissões do IAM para configurar a CloudFront distribuição, mas a distribuição é gerenciada por. AWS Você não pode alterar a configuração da CloudFront distribuição que o Amazon Cognito associou ao seu grupo de usuários. Por exemplo, não é possível atualizar as versões de TLS compatíveis na política de segurança.

Etapa 1: insira o nome de domínio personalizado

É possível adicionar seu domínio ao grupo de usuários usando a API ou o console do Amazon Cognito.

Amazon Cognito console
Para adicionar o domínio ao grupo de usuários diretamente do console do Amazon Cognito:
  1. Faça login no console do Amazon Cognito. Se solicitado, insira suas credenciais da AWS .

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

  3. Escolha o grupo de usuários ao qual você deseja adicionar seu domínio.

  4. Escolha a guia App integration (Integração da aplicação).

  5. Ao lado de Domain (Domínio), escolha Actions (Ações) e, em seguida, escolha Create custom domain (Criar domínio personalizado).

    nota

    Se você já configurou um domínio de grupo de usuários, escolha Delete Cognito domain (Excluir domínio do Cognito) ou Delete custom domain (Excluir domínio personalizado) para excluir o domínio existente antes de criar seu novo domínio personalizado.

  6. Para o Custom domain (Domínio personalizado), insira o URL do domínio que você deseja usar com o Amazon Cognito. Seu nome de domínio pode incluir somente letras minúsculas, números e hífens. Não use um hífen como primeiro ou último caractere. Use pontos para separar nomes de subdomínio.

  7. Para o ACM certificate (Certificado do ACM), escolha o certificado SSL que você deseja usar para seu domínio. Somente certificados ACM no Leste dos EUA (Norte da Virgínia) estão qualificados para uso com um domínio personalizado do Amazon Cognito, independentemente Região da AWS do seu grupo de usuários.

    Se você não tem um certificado disponível, poderá usar o ACM para implantar um no Leste dos EUA (Norte da Virgínia). Para obter mais informações, consulte Conceitos básicos no Guia do usuário do AWS Certificate Manager .

  8. Selecione Create (Criar).

  9. O Amazon Cognito retorna você à guia App integration (Integração da aplicação). Uma mensagem intitulada Create an alias record in your domain's DNS (Criar um registro de alias no DNS do seu domínio) é exibida. Anote o Domain (Domínio) e Alias target (Destino do alias) exibidos no console. Eles serão usados na próxima etapa para direcionar o tráfego para o seu domínio personalizado.

API
Para adicionar o domínio ao seu grupo de usuários com a API do Amazon Cognito:

Etapa 2: adicionar um destino do alias e subdomínio

Nesta etapa, configure um alias por meio do seu provedor de serviços do servidor de nome de domínio (DNS) que aponta para o destino do alias da etapa anterior. Se você estiver usando o Amazon Route 53 para resolução do endereço DNS, escolha a seção To add an alias target and subdomain using Route 53 (Para adicionar um destino do alias e subdomínio usando o Route 53).

  • Se não estiver usando o Route 53 para resolução do endereço DNS, é necessário utilizar as ferramentas de configuração do seu provedor de serviço DNS para adicionar o destino do alias da etapa anterior ao registro DNS do domínio. O provedor DNS também precisará configurar o subdomínio para o seu domínio personalizado.

  1. Faça login no console do Route 53. Se solicitado, insira suas credenciais da AWS .

  2. Se você não tiver uma zona hospedada no Route 53, crie uma com uma raiz que seja mãe do seu domínio personalizado. Para obter mais informações, consulte

    1. Escolha Criar hosted zone.

    2. Insira o domínio pai, por exemplo auth.example.com, do seu domínio personalizado, por exemplo myapp.auth.example.com, da lista Domain Name (Nome do domínio).

    3. Insira uma Descrição para a sua zona hospedada.

    4. Selecione um Type (Tipo) de zona hospedada de Public hosted zone (Zona hospedada pública) para permitir que clientes públicos resolvam seu domínio personalizado. Não há compatibilidade com a seleção de Private hosted zone (Zona hospedada privada).

    5. Aplique Etiquetas como desejar.

    6. Escolha Create hosted zone (Criar zona hospedada).

      nota

      Também é possível criar uma nova zona hospedada para o domínio personalizado e criar um conjunto de delegação na zona hospedada principal que direciona consultas para a zona hospedada do subdomínio. Caso contrário, crie um registro A. Esse método oferece mais flexibilidade e segurança com suas zonas hospedadas. Para mais informações, consulte Creating a subdomain for a domain hosted through Amazon Route 53 (Criar um subdomínio para um domínio hospedado por meio do Amazon Route 53).

  3. Na página Hosted Zones (Zonas hospedadas), escolha o nome da sua zona hospedada.

  4. Adicione um registro DNS para o domínio principal do seu domínio personalizado, se você ainda não tiver um. Adicione um A registro DNS para o domínio principal e escolha Criar registros. Veja a seguir um exemplo de registro para o domínio auth.example.com.

    auth.example.com. 60 IN A 198.51.100.1

    nota

    O Amazon Cognito verifica que há um registro DNS para o domínio pai do seu domínio personalizado para proteger contra o sequestro acidental de domínios de produção. Se você não tiver um registro DNS para o domínio pai, o Amazon Cognito retornará um erro quando você tentar definir o domínio personalizado. Um registro Start of Authority (SOA) não é um registro DNS suficiente para fins de verificação do domínio principal.

  5. Adicione um registro DNS para seu domínio personalizado. Seu registro deve apontar para o destino do alias de domínio personalizado, por exemplo123example.cloudfront.net. Selecione Create record (Criar registro) novamente.

  6. Insira um Record name (Nome de registro) que corresponda ao seu domínio personalizado, por exemplo myapp, para criar um registro para myapp.auth.example.com.

  7. Habilite a opção Alias (Alias).

  8. Selecione Route traffic to (Rotear tráfego para) um Alias to CloudFront distribution (Alias para distribuição do CloudFront). Insira o Alias target (Destino do alias) fornecido pelo Amazon Cognito quando você criou seu domínio personalizado.

  9. Selecione Create records (Criar registros).

    nota

    A propagação de seus novos registros para todos os servidores de DNS do Route 53 pode levar cerca de 60 segundos. Você pode usar o método da GetChangeAPI Route 53 para verificar se suas alterações foram propagadas.

Etapa 3: verificar a página de acesso

  • Verifique se a página de login está disponível no seu domínio personalizado.

    Faça login com o domínio e o subdomínio personalizados inserindo esse endereço no navegador. Este é um exemplo de URL de um domínio personalizado example.com com o subdomínio auth:

    https://myapp.auth.example.com/login?response_type=code&client_id=<your_app_client_id>&redirect_uri=<your_callback_url>

Como alterar o certificado SSL do seu domínio personalizado

Quando necessário, você poderá usar o Amazon Cognito para alterar o certificado aplicado ao seu domínio personalizado.

Geralmente, isso é desnecessário ao ser seguida a rotina de renovação do certificado com o ACM. Quando você renovar seu certificado existente no ACM, o ARN do certificado permanecerá o mesmo, e seu domínio personalizado usará o novo certificado automaticamente.

No entanto, se você substituir o certificado existente por um novo, o ACM dará ao novo certificado um novo ARN. Para aplicar o novo certificado ao seu domínio personalizado, você deve fornecer esse ARN ao Amazon Cognito.

Depois de fornecer o novo certificado, o Amazon Cognito precisará de até uma hora para distribuí-lo ao seu domínio personalizado.

Antes de começar

Antes de alterar seu certificado no Amazon Cognito, você deve adicionar o certificado ao ACM. Para obter mais informações, consulte Conceitos básicos no Guia do usuário do AWS Certificate Manager .

Ao adicionar seu certificado ao ACM, você deve escolher Leste dos EUA (Norte da Virgínia) como região da AWS .

É possível alterar seu certificado usando a API ou o console do Amazon Cognito.

AWS Management Console
Para renovar um certificado no console do Amazon Cognito:
  1. Faça login no AWS Management Console e abra o console do Amazon Cognito em. https://console.aws.amazon.com/cognito/home

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

  3. Escolha o grupo de usuários para o qual deseja atualizar o certificado.

  4. Escolha a guia App integration (Integração da aplicação).

  5. Escolha Actions (Ações), Edit ACM certificate (Editar certificado do ACM).

  6. Selecione o novo certificado que deseja associar ao seu domínio personalizado.

  7. Escolha Salvar alterações.

API
Para renovar um certificado (API do Amazon Cognito)