SAML Single Sign-On (SSO) no AWS Cognito usando o plugin Joomla IDP
Visão geral
O Single Sign-On no AWS Cognito usando o Joomla IDP permite que os usuários efetuem login no AWS Cognito usando o Joomla configurando o AWS Cognito como um Provedor de Serviços (SP) e o Joomla como um Provedor de Identidade SAML (IDP). Este guia explicará passo a passo como configurar o SSO entre as duas plataformas.
O que é AWS Cognito?
O AWS Cognito é um serviço fornecido pela Amazon Web Services (AWS) que oferece autenticação, autorização e gerenciamento de usuários para aplicativos web e mobile. Ele simplifica o processo de adicionar cadastro, login e controle de acesso de usuários aos seus aplicativos.
Instalar o plugin Joomla SAML IDP
- Faça login no seu site Joomla Administrador console.
- No menu de alternância à esquerda, clique em System, então na seção Instalar clique em Extensões.
- Agora clique em Ou procurar arquivo botão para localizar e instalar o arquivo de plugin baixado anteriormente.
- A instalação do plugin foi bem-sucedida. Agora clique em Comece a usar o plugin SAML IDP do miniOrange para configurar o plugin miniOrange Joomla IDP.
- Vou ao Plugin miniOrange Joomla IDPnavegue até o Provedor de Identidade aba.
- Aqui, você pode encontrar o URL/arquivo XML de metadados do Provedor de Identidade ou endpoints como ID da Entidade IDP, URL de login SAML, URL de logout SAML (recurso premium) e certificado para configuração do SP. Baixe os metadados XML clicando no botão, conforme mostrado abaixo.
Etapas de configuração
Nesta configuração, Joomla serve como repositório para armazenar usuários, ou seja, atuará como IDP enquanto AWS Cognito é onde os usuários farão login usando suas credenciais do Joomla onde Plugin Joomla SAML IDP SSO será instalado.
Etapa 1: configurar o AWS Cognito como SP (Provedor de Serviços)
- Primeiro de tudo, vá para Console AWS Cognito e inscreva-se/faça login na sua conta para configurar o AWS Cognito.
- Acesse Serviços > Segurança, Identidade e Conformidade > Cognito.
- Clique Gerenciar pools de usuários, Em seguida Criar um pool de usuários.
- Digite um nome para o Pool. Clique em Padrões de revisão, Em seguida Criar pool.
- Depois de criar um pool, mantenha o ID da piscina útil ou você pode anotar para ajudar a configurar seu IdP.
- No painel esquerdo, clique em Nome de Domínio em Integração de Aplicativos. Insira um prefixo de domínio disponível e salve-o. Mantenha este Domínio, pois ele será necessário na URL do ACS para configurar seu IDP.
- No painel esquerdo, clique em Provedor de Identidade sob a Federação. Então Selecione SAML.
- Carregue os metadados do IDP do Joomla, nomeie-os e clique em Criar provedor.
- Adicione isso
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
atributo no campo de texto de atributo SAML e selecione Atributo de pool de usuários como E-mail.
- Clique Salvar as alterações .
Etapa 2: Configurando o Joomla como Provedor de Identidade
- No plugin SAML IDP do miniOrange Joomla, vá para a aba Provedor de Serviços.
- No campo ID da entidade SP, insira urn:amazon:cognito:sp:(YourUserPoolId), (remova a tag âncora (<>) e adicione o ID do pool de usuários que você já copiou acima ao criar o pool.
- Substitua "yourUserPoolId" pelo ID do seu pool de usuários do Amazon Cognito.
- Para encontrar o ID do pool de usuários:
- Efetue login no AWS Management Console como administrador.
- Acesse Serviços > Segurança, Identidade e Conformidade e selecione Cognito.
- Selecione Gerenciar pools de usuários e, em seguida, o pool de usuários que você deseja usar na configuração.
- Encontre o ID do pool no topo da lista.
- No campo URL do ACS, insira:
https://YourSubdomain.amazoncognito.com/saml2/idpresponse
e salvá-lo. - Substitua YourSubdomain pelo que você criou na etapa acima.
- Você também pode encontrar seu subdomínio seguindo os passos abaixo:
- Para encontrar YourSubdomain:
- Clique em Nome de domínio em Integração de aplicativos.
- Copie a URL inteira e substitua-a por YourSubdomain na URL do ACS (remova todos os espaços em branco aqui).
- Marque a caixa de seleção Assinatura de Assinatura para assinar a asserção e clique no botão Salvar.
- Para mapear os atributos, clique na aba Mapeamento. Selecione seu Provedor de Serviços no menu suspenso.
- Adicione isso
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
valor no campo de texto "Nome do Atributo" e no menu suspenso "Valor do Atributo" no formulário "Selecionar Endereço de E-mail". Clique no botão "Salvar Mapeamento".
Etapa 3: configurar o aplicativo cliente no AWS Cognito
- Agora, clique em Clientes de Aplicativo em Configurações Gerais. Clique em Adicionar um Cliente de Aplicativo.
- Insira o nome do cliente do aplicativo. Por exemplo, JoomlaIdP. Desmarque a caixa de seleção Gerar segredo do cliente e clique no botão Criar cliente do aplicativo na parte inferior.
- Agora clique nas configurações do App Client em Integração de aplicativos no painel esquerdo.
- Marque a caixa de seleção Selecionar tudo, insira os URLs de retorno e os URLs de saída. Selecione Concessão implícita em Fluxos OAuth permitidos. Agora marque a caixa de seleção E-mail e OpenID em Escopos OAuth permitidos e clique no botão Salvar alterações no canto inferior direito.
- Agora clique em Iniciar UI hospedada na parte inferior para executar o SSO.
- Você também pode usar o seguinte URL do SSO para executar o SSO.
https://(domain_prefix).auth.(region).amazoncognito.com/login?
response_type=token&client_id=(app client id)&redirect_uri=(your redirect URI)
