Procurar Resultados :

×

Login único SAML no Joomla usando IdentityServer4

Plug-in miniOrange Joomla SAML SP SSO ajuda você a integrar seu Site Joomla para Servidor de Identidade4 Utilizando o protocolo SAML 2.0. Nosso plugin intuitivo simplifica o processo de configuração do Single Sign-on (SSO) com o IdentityServer4 no Joomla, garantindo uma experiência de login segura. Isso permite que os usuários acessem diversos sites Joomla sem esforço usando suas credenciais de IDP do IdentityServer4.

Nosso plugin foi projetado para ser compatível com Joomla 3, 4 e 5 e funciona perfeitamente com todos os Provedores de Identidade compatíveis com SAML 2.0. Para uma visão geral detalhada dos recursos abrangentes oferecidos pelo plugin Joomla SAML SP, abaixo, fornecemos um guia passo a passo sobre como configurar o login SAML SSO entre seu site Joomla e o Gluu Server, com Servidor de Identidade4 servindo como o Provedor de Identidade (IDP) e Joomla como o Provedor de Serviços (SP).


Nesta configuração, Servidor de Identidade4 serve como repositório para armazenar usuários, ou seja, atuará como IDP enquanto Joomla é onde os usuários farão login usando suas credenciais do IdentityServer4 onde Plugin Joomla SAML SP SSO será instalado.

  • 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.
Instalar o plugin Joomla SAML SP
  • A instalação do plugin foi bem-sucedida. Agora clique em Iniciar!
Introdução à configuração do SAML SP
  • Vou ao Metadados do Provedor de Serviços aba, aqui você pode encontrar o URL de metadados, baixe o arquivo XML de metadados, ou você pode copiar o ID da entidade e URL do ACS diretamente.
Introdução à configuração do SAML SP

Siga as etapas a seguir para configurar o IdentityServer4 como IdP.

IdentityServer4 como IdP

Observação: Para adicionar a funcionalidade SAML IDP, você precisará de modificações no Inicialização.cs arquivo.

  • De acordo com o relatório Configurar serviços método, sua chamada para Adicionar servidor de identidade precisa ser atualizado com o seguinte código:
            

services.AddIdentityServer()
// the rest of registrations (clients, resources, users, etc)
  .AddSigningCredential(new X509Certificate2(/*your cert*/))
  .AddSamlPlugin(options => {      options.Licensee = "/*your license key org name*/";
     options.LicenseKey = "/*your license key*/";
})
.AddInMemoryServiceProviders(new List());

  • No método configure, a chamada para UseIdentityServer precisa ser estendido com o seguinte código:
        

app.UseIdentityServer()
  .UseIdentityServerSamlPlugin();

Configurar IdentityServer4 como Provedor de Serviços

  • De acordo com o relatório Config.cs arquivo criar um Entrada do cliente.
            

new Client {
   ClientId = "http://localhost:5001/saml",
   ClientName = "RSK SAML2P Test Client",
   ProtocolType = IdentityServerConstants.ProtocolTypes.Saml2p,
   AllowedScopes = { "openid", "profile" }
}

ID do Cliente
Forneça clientId da guia Metadados do Provedor de Serviço
Nome do Cliente
Forneça o nome do provedor de serviços
Tipo de protocolo
IdentityServerConstants.ProtocolTypes.Saml2p
Escopos Permitidos
openid, perfil
  • De acordo com o relatório Config.cs configurar Especificações do SAML utilizando Objeto do Provedor de Serviços.
            

new ServiceProvider {
   EntityId = "http://localhost:5001/saml",
   SigningCertificates = {new X509Certificate2("TestClient.cer")},/*Enter the certificate name*/
   AssertionConsumerServices = { new Service(SamlConstants.BindingTypes.HttpPost, "http://localhost:5001/signin-saml") }
};

Observação: O processo de ID do cliente e ID da entidade devemos ser Igual.

  • Você precisará das seguintes informações dos Metadados do Provedor de Serviços.
ID da Entidade
Forneça o ID da entidade da guia Metadados do provedor de serviços
Certificados de Assinatura
Faça o download do Certificado na guia Metadados do Provedor de Serviço do plugin e digite Nome válido
URL do Serviço de Asserção ao Consumidor
Forneça o necessário Tipo de ligação seguido pelo URL do ACS:
Método HttpPost: SamlConstants.TiposDeVinculação.HttpPost
Método HttpRedirect: SamlConstants.BindingTypes.HttpRedirect
URL do ACS: Forneça a URL do ACS na guia Metadados do Provedor de Serviços
  • Para configurar seu Provedor de Serviços, recupere os Metadados do IDP visitando /saml/metadados URL.
  • Você obterá os endpoints necessários para a configuração do Provedor de Serviços.

Você configurou com sucesso o IdentityServer4 como SAML IdP (Provedor de Identidade) para obter login SSO do IdentityServer4 no seu site Joomla.

No plugin SAML do Joomla, acesse a aba Configuração do Provedor de Serviços e clique em Adicionar novo IDPExistem 3 maneiras de configurar o IdP:

Carregar metadados do IdP

A. Ao carregar metadados do IDP:

  • No plugin Joomla SAML, vá para Configuração do provedor de serviços Na guia, clique aqui no Selecionar arquivo botão para selecionar o arquivo de metadados e, em seguida, clique no Escolher arquivo botão.
Carregar metadados do IdP

B. Por URL de metadados:

  • Entrar URL de metadados (Copiar do aplicativo IDP) e clicar em Buscar metadados botão.
Carregar metadados do IdP

C. Configuração manual:

  • exemplar ID da entidade SAML, URL do ponto de extremidade de logon único SAML e certificado X.509 do documento de metadados da Federação e cole-o em ID da entidade do provedor de identidade (IDP), URL de autenticação única (SSO), certificado X.509 campos respectivamente no plugin.
ID da entidade IdP ID da entidade SAML no documento de metadados da federação
URL de login único URL do ponto de extremidade de logon único SAML no documento de metadados da federação
Valor do Certificado X.509 Certificado X.509 no documento de metadados da Federação
Carregar metadados do IdP
  • Clique Economize para armazenar sua configuração. Depois de salva, a configuração do IdP aparecerá no Lista de deslocados internos, onde você pode copiar o URL do SSO ou gerencie a configuração editando o IdP configurado ou excluindo-o, conforme necessário.
Carregar metadados do IdP

  • Por fim, teste a configuração clicando no Testar botão. Na janela de teste bem-sucedido, você verá os atributos recebidos do seu IdP, permitindo que você verifique se a configuração está funcionando corretamente.
Carregar metadados do IdP

  • Atributos são detalhes do usuário que são armazenados no seu Provedor de Identidade.
  • O Mapeamento de Atributos ajuda você a obter atributos de usuário do seu Provedor de Identidade (IDP) e mapeá-los para atributos de usuário do Joomla, como nome, sobrenome, endereço, telefone etc.
  • Ao registrar automaticamente os usuários no seu site Joomla, esses atributos serão mapeados automaticamente para os detalhes do usuário Joomla.
  • Acesse a aba Mapeamento e preencha todos os campos. Mapeamento de Atributos seção.
Nome de usuário: Nome do atributo de nome de usuário do IdP (manter NameID por padrão)
Email: Nome do atributo de e-mail do IdP (manter NameID por padrão)
Nome: Nome do atributo de nome do IdP
Mapeamento de Atributos Joomla
  • Você pode verificar os Resultados da configuração do teste na guia Configuração do provedor de serviços para ter uma ideia melhor de quais valores mapear aqui.

Nota: Você pode ver como funciona o mapeamento de atributos aqui..

  • O mapeamento de grupo/função ajuda você a atribuir funções específicas a usuários de um determinado grupo no seu Provedor de Identidade (IdP).
  • Durante o registro automático, os usuários recebem funções com base no grupo ao qual estão mapeados.
Mapeamento de Grupos Joomla

Nota: Você pode ver como funciona o mapeamento de grupo/função aqui..

  • Acesse a aba Configurações de Login. Você pode adicionar a URL de login para realizar o SSO SAML no seu site Joomla seguindo os passos abaixo.
  • Há vários recursos disponíveis nesta aba, como redirecionamento automático do usuário para o Provedor de Identidade e ativação de login de backend para superusuários. Para usar esses recursos, clique nas respectivas caixas de seleção.
Mapeamento de Grupos Joomla
  • Clique na aba "Atualizar" para conferir nossa lista completa de recursos e diversos planos de licenciamento. OU clique aqui para conferir os recursos e planos de licenciamento.
  • Caso você esteja enfrentando algum problema ou tenha alguma dúvida, entre em contato conosco enviando sua dúvida por meio do botão Suporte no plugin ou enviando um e-mail para joomlasupport@xecurify.com.
Mais perguntas frequentes ➔

Há algumas razões pelas quais isso pode acontecer:

1. O cache está habilitado no site.
Quando o redirecionamento automático está habilitado, o usuário é redirecionado para a página de login do IDP e, após efetuar login, retorna ao site principal, mas como o cache está habilitado, ele redireciona para a página de login do IDP, causando um loop.

2. Discrepância HTTP/HTTPS:
Isso acontece quando o HTTPS não é imposto no site, mas está configurado no lado do IDP com uma URL HTTPS. Isso pode ser resolvido aplicando o HTTPS no site, definindo uma regra de redirecionamento no arquivo .htaccess ou no nível do Apache.

3. Adulteração de cookies:
O cookie criado pelo plugin após o login do usuário é alterado por outro plugin, o que faz com que o usuário não efetue login no site Joomla, mas a sessão é criada no IDP.

No plugin SAML do Joomla, quando uma extensão não é habilitada após a instalação do plugin, ao clicar em "Testar Configuração", você é redirecionado para o seu próprio site em vez de para o IDP. Para resolver o problema, você precisa habilitar todas as extensões do plugin após a instalação.

Siga os passos abaixo para resolver esse problema:

1. Na interface de administração do Joomla, vá para Extensões -> Gerenciar -> Gerenciar.
2. Procure por "miniorange".
3. Habilite todas as extensões dos plugins.

Aqui estão alguns erros frequentes que podem ocorrer:

INVALID_ISSUER: Isso significa que você NÃO inseriu o valor correto de Emissor ou ID da Entidade fornecido pelo seu Provedor de Identidade. Você verá na mensagem de erro qual era o valor esperado (que você configurou) e o que realmente foi encontrado na Resposta SAML.
INVALID_AUDIENCE: Isso significa que você NÃO configurou corretamente a URL do Público no seu Provedor de Identidade. Ela deve ser definida como https://url-base-do-seu-site-joomla/plugins/authentication/miniorangesaml/ no seu Provedor de Identidade.
INVALID_DESTINATION: Isso significa que você NÃO configurou a URL de destino corretamente no seu Provedor de Identidade. Ela deve ser definida como https://url-base-do-seu-site-joomla/plugins/authentication/miniorangesaml/saml2/acs.php no seu Provedor de Identidade.
ASSINATURA_INVÁLIDA: Isso significa que o certificado fornecido não corresponde ao certificado encontrado na resposta SAML. Certifique-se de fornecer o mesmo certificado que você baixou do seu IdP. Se você tiver o arquivo XML de metadados do seu IdP, certifique-se de fornecer o certificado incluído na tag de certificado X509, que possui o atributo use='signing'.
INVALID_CERTIFICATE: Isso significa que o certificado fornecido não está no formato correto. Certifique-se de ter copiado todo o certificado fornecido pelo seu IdP. Se copiado do arquivo XML de Metadados do IdP, certifique-se de ter copiado o valor completo.

Isso só é possível quando um certificado recebido na Resposta SAML não corresponde ao certificado configurado no plugin. Copie o valor do certificado exibido na janela Configuração de Teste e cole-o no campo Certificado X.509 na aba Provedor de Serviços do plugin.

Siga os passos para a configuração de exportação:
1) Acesse o plugin miniOrange SAML SP e navegue até a aba Configuração do Provedor de Serviços.
2) Em seguida, clique no botão Importar/Exportar na parte inferior da página e depois clique no botão Exportar configuração.
3) Navegue até Sistema >> Gerenciar e pesquise miniOrange na barra de pesquisa. Em seguida, desinstale todas as extensões do miniOrange.

Siga os passos para importar a configuração:
1) Instale o plugin mais recente e faça login com suas credenciais miniOrange no plugin.
2) Navegue até a aba Configuração do Provedor de Serviços e clique no botão Importar/Exportar.
3) Carregue o arquivo de configuração baixado e clique no botão Importar configuração.

Ao atualizar o plugin SAML do Joomla, se uma tabela ou coluna não for adicionada ao banco de dados, você receberá um erro de tabela ausente. Esse problema geralmente ocorre quando uma tabela ou coluna não é adicionada ao banco de dados durante a atualização do plugin.
Você pode reinstalar o plugin para resolver esse problema. Siga os passos abaixo:

Desinstale o plugin existente (Faça um backup do plugin existente antes de desinstalá-lo)
– Vá em Extensões -> Gerenciar -> Gerenciar
– Procure por miniOrange
– Selecione todas as extensões e clique em 'Desinstalar'.
Agora instale o plugin novamente e configure-o.

Um site Joomla pode ser usado como Provedor de Serviços ou Provedor de Identidade usando o plugin SP ou IDP relevante. Você provavelmente está enfrentando esse erro porque instalou os dois plugins no mesmo site.
Para resolver esse problema, siga as etapas mencionadas abaixo: Exclua as seguintes pastas do seu diretório Joomla:

1. /bibliotecas/miniorangejoomlaidpplugin
2. /bibliotecas/miniorangesamlplugin
3. /plugins/sistema/samlredirect
Agora você deve conseguir fazer login no seu site Joomla.

Remova as extensões restantes:

1. No console do administrador do seu site Joomla, vá para Extensões -> Gerenciar -> Gerenciar.
2. Pesquise por 'miniorange'
3. Selecione todas as extensões e clique em Desinstalar

O problema de redirecionamento ocorre ao usar o plugin Admin Tools para Joomla SAML SSO, onde o plugin Admin Tools faz alterações no arquivo .htaccess e adiciona determinadas regras que impedem o redirecionamento do site.

Você pode resolver o problema acima seguindo os passos abaixo:

1. Navegue até Ferramentas de administração >> Painel de controle e clique na opção .htaccess maker.
2. Em seguida, desative a opção "Proteger contra ataques comuns de injeção de arquivo".
Em seguida, limpe o cache do seu site e teste o Single Sign-On.

Registros do rastreador SAML:

1. Baixe o complemento rastreador SAML: Firefox: [ de vidrio ] | Cromo:[ de vidrio ] 2. Abra o rastreador SAML na barra de ferramentas do navegador.
3. Mantenha a janela do rastreador SAML aberta.
4. Execute a configuração SSO/teste e reproduza o problema.
5. Vá para a janela do rastreador SAML.
6. Você terá a opção de exportar o log do SAML Tracer em um arquivo (na barra de menu superior). Salve os logs em um arquivo, escolha "Nenhum" quando solicitado e envie-nos esse arquivo.

Parece que seu Provedor de Identidade está enviando um erro na Resposta SAML. Para solucionar isso, acesse a aba "Configuração do Provedor de Serviço" do Plug-in SAML SP. Clique em "Configuração de Teste" e revise a janela de resultados da configuração. Certifique-se de que o Mapeamento de Atributos foi feito corretamente e verifique se o Valor do Certificado X.509 está correto.



ADFS_sso ×
Olá!

Preciso de ajuda? Estamos bem aqui!

ajuda