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
Nessa configuração, o Joomla serve como repositório para armazenar usuários, ou seja, atuará como o provedor de identidade (IDP), enquanto o AWS Cognito será onde os usuários farão login usando suas credenciais do Joomla, onde o plugin Joomla SAML IDP SSO estará 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)
