Nomes e identificadores do provedor de identidades SAML
Ao nomear seus provedores de identidades (IdPs) SAML e atribuir identificadores de IdP, você pode automatizar o fluxo de solicitações de entrada e saída iniciadas pelo SP para esse provedor. Para obter informações sobre restrições de sequências de caracteres ao nome do provedor, consulte a propriedade ProviderName
de CreateIdentityProvider.
Você também pode escolher até 50 identificadores para os provedores SAML. Identificador é um nome amigável para um IdP em seu grupo de usuários e deve ser exclusivo dentro do grupo. Se os identificadores SAML corresponderem aos domínios de e-mail dos seus usuários, a interface do usuário hospedada do Amazon Cognito solicitará o endereço de e-mail de cada usuário, avaliará o domínio em seu endereço de e-mail e os redirecionará para o IdP que corresponde ao domínio. Como a mesma organização pode ter vários domínios, um único IdP pode ter vários identificadores.
Independentemente de você usar identificadores de domínio de e-mail, é possível usar identificadores em uma aplicação multilocatário para redirecionar os usuários para o IdP correto. Quando quiser ignorar totalmente a interface do usuário hospedada, você pode personalizar os links que apresenta aos usuários para que eles sejam redirecionados por Autorizar endpoint diretamente para o IdP. Para cadastrar usuários com um identificador e redirecionar para o IdP, inclua o identificador no formato idp_identifier=
nos parâmetros de solicitação da solicitação de autorização inicial.myidp.example.com
Outro método para passar um usuário para o seu IdP é preencher o parâmetro identity_provider
com o nome do IdP no seguinte formato de URL.
https://
mydomain.us-east-1.amazoncognito.com
/oauth2/authorize? response_type=code
& identity_provider=MySAMLIdP
& client_id=1example23456789
& redirect_uri=https://www.example.com
Depois que o usuário faz login com seu IdP SAML, ele o redireciona com uma resposta SAML no corpo HTTP POST
para o endpoint /saml2/idpresponse
. O Amazon Cognito processa a declaração do SAML e, se as declarações na resposta atenderem às expectativas, redireciona para a URL de retorno de chamada do cliente de aplicação. Depois que seu usuário tiver concluído a autenticação dessa forma, ele poderá interagir com páginas da Web somente para seu IdP e aplicação.
Com identificadores de IdP em formato de domínio, a interface do usuário hospedada do Amazon Cognito solicita endereços de e-mail no login e, quando o domínio de e-mail corresponde a um identificador de IdP, redireciona os usuários para a página de login do IdP. Por exemplo, você cria uma aplicação que exige o login de funcionários de duas empresas diferentes. A primeira, Empresa A, possui exampleA.com
e exampleA.co.uk
. A segunda, Empresa B, possui exampleB.com
. Nesse exemplo, você configurou dois IdPs, um para cada empresa, da seguinte forma:
-
Para o IdP A, você define os identificadores
exampleA.com
eexampleA.co.uk
. -
Para o IdP B, você define o identificador
exampleB.com
.
Na aplicação, invoque a interface do usuário hospedada para seu cliente de aplicação para solicitar que cada usuário insira seu endereço de e-mail. O Amazon Cognito traz o domínio do endereço de e-mail, correlaciona o domínio a um IdP com um identificador de domínio e redireciona seu usuário para o IdP correto com uma solicitação para Autorizar endpoint que contém um parâmetro de solicitação idp_identifier
. Por exemplo, se um usuário inserir bob@exampleA.co.uk
, a próxima página com a qual ele vai interagir é a página de login do IdP em https://auth.exampleA.co.uk/sso/saml
.
Também é possível implementar a mesma lógica de forma independente. Na aplicação, você pode criar um formulário personalizado que coleta as entradas do usuário e as correlaciona com o IdP correto de acordo com sua própria lógica. Você pode gerar portais de aplicações personalizados para cada um dos locatários da aplicação, em que cada um é vinculado ao endpoint de autorização com o identificador do locatário nos parâmetros da solicitação.
Para coletar um endereço de e-mail e analisar o domínio na interface do usuário hospedada, atribua pelo menos um identificador a cada IdP SAML que você atribuiu ao cliente de aplicação. Por padrão, a tela de login da interface de usuário hospedada exibe um botão para cada um dos IdPs que você atribuiu ao cliente da aplicação. Mas se tiver atribuído os identificadores com êxito, a página de login da interface do usuário hospedada será semelhante à imagem a seguir.
A análise de domínio na interface do usuário hospedada exige que você use domínios como identificadores de IdP. Se você atribuir um identificador de qualquer tipo a cada um dos IdPs SAML de um cliente de aplicação, a interface de usuário hospedada dessa aplicação não exibirá mais os botões de seleção de IdP. Adicione identificadores de IdP para SAML quando você quiser usar análise de e-mail ou lógica personalizada para gerar redirecionamentos. Para gerar redirecionamentos silenciosos e fazer com que a interface do usuário hospedada exiba uma lista de IdPs, não atribua identificadores; use o parâmetro de solicitação identity_provider
nas solicitações de autorização.
-
Se você atribuir apenas um IdP SAML ao cliente de aplicação, a página de login da interface do usuário hospedada exibirá um botão para fazer login com esse IdP.
-
Se você atribuir um identificador a cada IdP SAML ativado para o cliente de aplicação, na página de login da interface do usuário hospedada, será exibido um aviso de entrada para inserção de um endereço de e-mail.
-
Se você tiver vários IdPs e não atribuir um identificador a todos eles, a página de login da interface do usuário hospedada exibirá um botão para fazer login com cada IdP atribuído.
-
Se você atribuiu identificadores aos IdPs e deseja que a interface de usuário hospedada exiba uma seleção de botões do IdP, adicione um novo IdP que não tenha identificador no cliente da aplicação ou crie um cliente de aplicação. Também é possível excluir um IdP existente e adicioná-lo novamente sem um identificador. Se você criar um IdP, seus usuários do SAML criarão novos perfis de usuário. Essa duplicação de usuários ativos pode afetar a cobrança no mês em que você altera a configuração do IdP.
Para obter mais informações sobre a configuração do IdP, consulte Como configurar provedores de identidade para seu grupo de usuários.