Autenticação única (SSO) do Keycloak no Magento 2 | Autenticação única no Magento usando credenciais do Keycloak
Visão geral
A Capa de Chaves SSO do Magento Permite um login seguro e transparente no seu Magento usando o Keycloak como provedor OAuth e OpenID Connect. Com o login SSO do Keycloak para Magento, os usuários podem acessar a loja usando suas credenciais de login do Keycloak. Isso significa que, com nossa extensão, os usuários do Keycloak podem fazer login na sua loja Magento 2 usando suas credenciais do Keycloak.
Os nossos Login do Keycloak no Magento 2 A extensão oferece integração segura de Single Sign-On (SSO) com recursos avançados, como mapeamento de atributos, mapeamento de funções e controle de acesso. Ela aprimora a segurança do site, garantindo que apenas usuários verificados possam fazer login ou se cadastrar no seu site Magento. Com um processo de configuração simples do Keycloak SSO para Magento, a extensão simplifica a autenticação de usuários e melhora o gerenciamento geral de acesso. Siga o guia abaixo para instalar e configurar o Keycloak SSO para Magento sem esforço.
Acesse aqui Para saber mais sobre os recursos adicionais da extensão Magento OAuth Single Sign-On (cliente OAuth e OpenID Connect), clique aqui.
Passos da instalação
- Usando o Composer
- Instalação manual
Pré-requisitos: Download e instalação
- Primeiro de tudo, Baixar Keycloak e instalá-lo.
- Inicie o servidor keycloak com base na sua versão do keycloak. (Veja a tabela abaixo)
| Para o Keycloak versão 16 e abaixo |
Vá para o diretório raiz do keycloak caixa standalone.sh |
| Para o Keycloak versão 17 e superior |
Vá para o diretório raiz do keycloak caixa kc.bat e execute os comandos abaixo.
|
Etapas de configuração
1. Configure a extensão miniOrange SSO.
- Na extensão miniOrange Magento SSO, navegue até a aba Aplicativo e selecione OAuth/Openide clique em Manto-chave aplicação.
- Copie o URL de retorno de chamada da extensão. Você precisará disso para Manto-chave configuração.
2. Configurar o Keycloak como provedor OAuth para login SSO do Magento com Keycloak
Selecione a versão do Keycloak:
- Adicionar Realm: Agora faça login no console de administração do Keycloak e navegue até o domínio desejado. Você pode adicionar um novo domínio selecionando Adicionar Reino opção.
- Criar reino: Entrar Nome do Reino e mantenha o nome do reino à mão, pois será necessário mais tarde para configurar o Reino no plugin OAuth Client. Clique em CRIAR para adicionar reino.
- Criar cliente OpenID: Clique no Clientes e escolha cria Para criar um novo cliente, insira o ID do cliente e selecione o protocolo do cliente. openeid-connect e selecione Economize.
- Alterar tipo de acesso: Após a criação do cliente, altere seu tipo de acesso para confidencial.
- Insira URIs de redirecionamento válidos: Copie o URL de retorno de chamada da extensão Magento Keycloak SSO e clique em
SALVAR. Ex. -- https://
/oauth/retorno de chamada - Obter segredo do cliente: Agora precisamos obter o segredo do cliente. Então selecione Clientes e selecione credenciais e copie seu segredo daqui.
- Configuração do plugin: Digite copiado Segredo do cliente para Segredo do cliente campo no plugin OAuth Client e insira o Nome do Cliente no campo ID do cliente.
- Adicionar usuário: Precisamos adicionar usuários ao reino que poderão acessar os recursos do reino. Clique em Utilizadores e escolha Adicionar um novo usuário.
- Configuração do usuário: Depois que o usuário for criado, a seguinte ação precisa ser executada nele.
- Usuário do mapa: Precisamos mapear o usuário para uma função. Clique em Mapeamentos de funções e atribuir ao usuário a função desejada dentre as funções disponíveis e clicar em adicionar selecionado.
- Criar FUNÇÃO: A função será usada pelos seus aplicativos para definir quais usuários serão autorizados a acessar o aplicativo. Clique no botão Setores e escolha Adicionar Tipo.
- Criar grupos: Clique no Grupos e escolha New para criar um novo grupo.
- Atribuir usuário ao grupo: Selecione o usuário que deseja adicionar ao grupo. Escolha a opção "Grupos" na aba, selecione o nome do grupo e clique em juntar.
- Mapeador de Grupo Keycloak: Agora, para obter os detalhes do grupo, precisamos realizar o mapeamento do cliente com a associação ao grupo, caso contrário, os detalhes do grupo não serão obtidos. Então, em Seção do cliente, selecione seu cliente e clique em mapeador->criar.
- Agora selecione tipo mapeador as Membro do grupo e digite o nome e nome da reivindicação do token ou seja, o nome do atributo correspondente aos grupos que serão buscados. Desative as opções "Caminho completo do grupo", "Adicionar ao token de ID" e "Adicionar ao token de acesso" e clique em Economize.
- Mapeador de funções do Keycloak: Agora, para obter os detalhes da função, precisamos realizar o mapeamento do cliente com a associação à função, caso contrário, os detalhes da função não serão obtidos. Então, em Seção do cliente, selecione seu cliente e clique em mapeador->criar.
- Agora selecione tipo mapeador as Função do reino do usuário Associação e entrar no nome. e nome da reivindicação do token ou seja, o nome do atributo correspondente aos grupos que serão buscados. Selecione as opções "Adicionar ao token de ID" e "Adicionar ao token de acesso" e clique em Economize.
- Adicionar Realm: Agora faça login no console de administração do Keycloak e navegue até o domínio desejado. Você pode adicionar um novo domínio selecionando Criar reino opção.
- Criar reino: Entrar Nome do Reino e mantenha o nome do reino à mão, pois será necessário mais tarde para configurar o Reino no plugin OAuth Client. Clique em CRIAR para adicionar reino.
- Criar cliente OpenID: Clique no Clientes e escolha Criar cliente Para criar um novo cliente, insira o ID do cliente e selecione o protocolo do cliente. openeid-connect e clique Seguinte.
- permitir que o Autenticação de cliente e Autorização alternancia.
- Desloque-se até o Configurações de acesso e digite seu URL de retorno/redirecionamento que você obterá da extensão Magento Keycloak SSO presente em URLs de retorno de chamada campo de texto.
- Vou ao Credenciais guia, copie o Segredo do cliente e mantenha-o à mão, pois precisaremos dele mais tarde ao configurar a extensão Magento Keycloak SSO.
- Configuração do plugin: Digite copiado Segredo do cliente para Segredo do cliente campo no plugin OAuth Client e insira o ID do cliente sob a ID do cliente campo.
- Adicionar usuário: Precisamos adicionar usuários ao reino que poderão acessar os recursos do reino. Clique em Utilizadores e clique em Criar novo usuário para adicionar um novo usuário.
- Configuração do usuário: Depois que o usuário for criado, a seguinte ação precisa ser executada nele.
- Usuário do mapa: Precisamos mapear o usuário para uma função. Clique em Mapeamentos de funções e atribuir ao usuário a função desejada dentre as funções disponíveis.
- Criar FUNÇÃO: A função será usada pelos seus aplicativos para definir quais usuários serão autorizados a acessar o aplicativo. Clique no botão Setores e escolha Criar papel.
- Adicionar Realm: Agora faça login no console de administração do Keycloak e navegue até o domínio desejado. Você pode adicionar um novo domínio selecionando Criar reino opção.
- Criar reino: Entrar Nome do Reino e mantenha o nome do reino à mão, pois será necessário mais tarde para configurar o Reino no plugin OAuth Client. Clique em CRIAR para adicionar reino.
- Criar cliente OpenID: Clique no Clientes e escolha Criar cliente Para criar um novo cliente, insira o ID do cliente e selecione o protocolo do cliente. openeid-connect e clique Seguinte.
- permitir que o Autenticação de cliente e Autorização alternancia.
- Desloque-se até o Configurações de acesso e digite seu URL de retorno/redirecionamento que você obterá da extensão Magento Keycloak SSO URLs de retorno de chamada campo de texto.
- Vou ao Credenciais guia, copie o Segredo do cliente e mantenha-o à mão, pois precisaremos dele mais tarde ao configurar a extensão Magento Keycloak SSO.
- Configuração do plugin: Digite copiado Segredo do cliente para Segredo do cliente campo no plugin OAuth Client e insira o ID do cliente sob a ID do cliente campo.
- Adicionar usuário: Precisamos adicionar usuários ao reino que poderão acessar os recursos do reino. Clique em Utilizadores e clique em Criar novo usuário para adicionar um novo usuário.
- Configuração do usuário: Depois que o usuário for criado, a seguinte ação precisa ser executada nele.
- Usuário do mapa: Precisamos mapear o usuário para uma função. Clique em Mapeamentos de funções e atribuir ao usuário a função desejada dentre as funções disponíveis.
- Agora, entre no Nome do provedor OAuth, ID do cliente, Segredo do cliente, Objetivo e pontos finais fornecidos.
- Consulte a tabela abaixo para configurar o escopo e pontos finais Para Keycloak versão 18 e superior na extensão.
- Consulte a tabela abaixo para configurar o Escopo e endpoints para Keycloak versão 17 e anteriores na extensão. .
- Clique no Economize para salvar as configurações.
- Clique no Configuração de Teste botão.
- Você verá todos os valores retornados pelo seu provedor OAuth para o Magento em uma tabela. Se você não vir os valores de Nome, Sobrenome, E-mail ou Nome de Usuário, faça as configurações necessárias no seu provedor OAuth para que essas informações sejam retornadas.
- Encontre seu aplicativo Keycloak e clique Editar no Menu Acções.
- Clique em Configuração da Loja do menu à esquerda.
- De acordo com o relatório Configuração da LojaSelecione o site onde deseja ativar o SSO e marque a opção Ativar SSO para este site.
- Exibir botão SSO na página de login: Exibe o botão SSO na página de login do cliente do site selecionado.
- Criar usuários automaticamente: Você tem a opção de criar usuários de clientes automaticamente durante o processo de SSO, caso eles ainda não existam. Marcar a caixa de seleção correspondente ativa esse recurso.
- Funcionalidade de redirecionamento automático: Redireciona automaticamente os usuários para a página de login do provedor OAuth, seja a partir da página de login do Magento ou de qualquer página do site.
- Acesse a página de login do cliente e você verá o botão SSO no seu frontend. Clique no botão e teste o SSO.
- Você será conectado com sucesso no Magento.
- Ativar SSO para administradores: Exibe o botão SSO na página de login do administrador.
- Texto do botão SSO de administrador: Define o rótulo exibido no botão SSO na página de login do administrador (por exemplo, Login via Keycloak).
- Criar usuários administradores automaticamente: Cria automaticamente um usuário administrador no Magento quando ele faz login via SSO pela primeira vez.
- Redirecionamento automático a partir do painel de administração: Redireciona automaticamente os usuários administradores para a página de login do provedor OAuth a partir da página de login do administrador.
- URL de acesso alternativo: Um URL de acesso alternativo permite que você faça login no seu painel de administração usando as credenciais padrão de administrador caso seu acesso seja bloqueado.
- Acesse a página de login do administrador e você verá o botão SSO. Clique no botão para iniciar o SSO como administrador.
- Após efetuar o login com sucesso no Magento como administrador, você será redirecionado para o painel de controle administrativo do Magento.
- Habilitar para clientes: Esta opção permite ativar o SSO sem interface gráfica para clientes.
-
URL de SSO do cliente: Este URL é usado para iniciar o SSO (Single Sign-On) do cliente a partir de aplicações headless. Adicione este URL de SSO à sua aplicação headless.
- Formato de exemplo:
https://<your-magento-domain>/mosso/actions/SendSSORequest?relayState={Store_URL}/headless_store_url/{Headless_URL}&app_name=Keycloak AD - {Store_URL}: Insira o URL da sua loja Magento.
- {Headless_URL}: Insira a URL da sua aplicação headless para onde o token do cliente deve ser enviado.
- Após o SSO bem-sucedido, um token do cliente é enviado para o URL headless.
Por exemplo:{Headless_URL}?customer_token=...
- Formato de exemplo:
- Token OAuth:Ative esta opção para enviar o token JWT do provedor OAuth (Keycloak) juntamente com o token do cliente.
- Validade do Token do Cliente: Você pode definir o tempo de expiração (em minutos) para o token do cliente.
- Lista de URLs permitidas para o frontend: Aqui, você pode adicionar URLs que estão autorizadas a receber o token do cliente. O token do cliente será enviado apenas para as URLs que estiverem na lista de permissões.
- Habilitar para administradores: Assim como para os clientes, essa opção ativa o SSO sem interface gráfica para administradores.
- URL de SSO do administrador: Este URL inicia o SSO administrativo a partir de aplicações sem interface gráfica.
- Validade do token de administrador: Defina o tempo de expiração (em minutos) para o token de administrador.
- Lista de URLs permitidas para o frontend: Os tokens de administrador são enviados apenas para os URLs da lista de permissões aqui. Você deve garantir que qualquer URL que receba um token de administrador esteja listado.
- Vou ao Mapeamento de Atributos seção para configurar o Mapeamento de Atributos do Cliente.
- Permitir Mapeamento de atributos do cliente e selecione checkbox a opção de Atualizar atributos do cliente.
- Você verá campos como E-mail, Nome e Sobrenome Em Mapeamento de Atributos do Cliente.
- Mapeie esses campos selecionando as opções apropriadas no menu suspenso.
- Se precisar adicionar mais atributos, clique em + Adicionar atributos do cliente botão e selecione o atributo apropriado em suspensa.
- De acordo com o relatório Atributo do cliente Na seção, habilite o Mapeamento de Atributos de Endereço e selecione o checkbox para atualizar Atributos de endereço do cliente.
- Você verá campos como Rua e número, Código Postal, Cidade, Estadoe outros sob Mapeamento de endereços de clientes.
- Mapeie esses campos selecionando as opções apropriadas no menu suspenso.
- Se precisar adicionar atributos de endereço adicionais, clique em + Adicionar atributos de endereço Clique no botão e selecione o atributo apropriado no menu suspenso.
- De acordo com o relatório Mapeamento de atributos administrativos seção, habilitar Mapeamento de atributos administrativos e selecione o checkbox atualizar Atributo de administrador.
- Você verá campos como E-mail, Nome de Utilizador Nome e Sobrenome Em Mapeamento de Atributos Administrativos.
- Mapeie esses campos selecionando as opções apropriadas no menu suspenso.
- Se precisar adicionar mais atributos, clique em + Adicionar atributos de administrador botão e selecione o atributo apropriado em suspensa.
- O Magento utiliza o conceito de Funções (Role), projetado para dar ao proprietário do site a capacidade de controlar o que os usuários podem ou não fazer dentro do site. O mapeamento de funções ajuda você a atribuir funções específicas a usuários de um determinado grupo em seu provedor OAuth.
- Selecione no menu suspenso o atributo do seu provedor de identidade que contém informações de grupo/função para usuários administradores e clientes.
- Nas configurações de Mapeamento de Grupos de Clientes, o administrador da loja pode definir qual grupo de clientes do Magento deve ser atribuído com base nas informações do grupo recebidas do Provedor de Identidade (IdP) durante o Single Sign-On (SSO).
- Ative a caixa de seleção “Atualizar grupo do frontend no SSO” se desejar que o Magento atualize o grupo de clientes sempre que um usuário fizer login via SSO.
- Use o menu suspenso Grupo Padrão para selecionar os Grupos do Magento que devem ser atribuídos a um usuário quando nenhuma informação de grupo for retornada pelo Provedor de Identidade ou quando o grupo recebido não corresponder a nenhum mapeamento configurado.
- Insira os valores do grupo do provedor de identidade nos grupos de clientes Magento correspondentes, conforme necessário.
- Os usuários pertencentes a um grupo específico no provedor de identidade serão automaticamente atribuídos ao grupo Magento mapeado durante o SSO.
- Exemplo: Se o valor do grupo do Provedor de Identidade estiver mapeado para o grupo Geral no Magento, qualquer usuário com esse grupo no IdP será atribuído ao grupo de clientes Geral após o SSO.
- Ative a caixa de seleção “Atualizar funções do backend no SSO” se desejar que o Magento atualize as funções de administrador sempre que um usuário fizer login via SSO.
- Use a lista suspensa Grupo Padrão para selecionar a função do Magento que deve ser atribuída a um usuário quando nenhuma informação de grupo for retornada pelo Provedor de Identidade ou quando o grupo recebido não corresponder a nenhum mapeamento configurado.
- Insira os valores do grupo do provedor de identidade nas funções de administrador do Magento correspondentes, conforme necessário.
- Os usuários pertencentes a um grupo específico no provedor de identidade serão automaticamente atribuídos ao grupo Magento mapeado durante o SSO.
- Exemplo: Se o valor do grupo do Provedor de Identidade estiver mapeado para o grupo Geral no Magento, qualquer usuário com esse grupo no IdP receberá as funções de Administrador Geral após o SSO.
- Soluções de Segurança Magento
- O que é o login único (SSO)?
- Documentação para desenvolvedores da Okta sobre OAuth 2.0 e OpenID Connect
- Plugin Magento OAuth Single Sign On (SSO).
- 1) Defina uma senha para ele, clique em Credenciais e defina uma nova senha para o usuário.
OBSERVAÇÃO: Desabilitar Temporário tornará a senha do usuário permanente.
Etapa 1.1: Etapas para buscar grupos Keycloak [Prêmio]
Observação: -- Se o caminho completo estiver no grupo, o caminho será obtido, caso contrário, o nome do grupo será obtido.
Etapa 1.2: Etapas para obter funções do Keycloak [Prêmio]
- 1) Defina uma senha para ele, clique em Credenciais e defina uma nova senha para o usuário.
OBSERVAÇÃO: Desabilitar Temporário tornará a senha do usuário permanente.
- 1) Defina uma senha para ele, clique em Credenciais e defina uma nova senha para o usuário.
OBSERVAÇÃO: Desabilitar Temporário tornará a senha do usuário permanente.
Em conclusão, ao configurar com sucesso Keycloak como provedor OAuthVocê habilitou o login e a autorização SSO do Keycloak no Magento para seus usuários finais acessarem o Magento.
3. Configurar o Magento como cliente OAuth
| Escopo: | perfil de e-mail openid |
| Autorizar ponto final: | /realms/{nome-do-realm}/protocolo/openid-connect/auth |
| Ponto final do token de acesso: | /realms/{nome-do-realm}/protocolo/openid-connect/token |
| Obter informações do usuário Endpoint: | /realms/{nome-do-realm}/protocolo/openid-connect/userinfo |
| URL de redirecionamento personalizado após logout:[opcional] | https://{domínio keycloak}/reinos/{nome-do-reino}/protocolo/openid-connect/logout?post_logout_redirect_uri={RedirectUri}&id_token_hint=##id_token## |
| Escopo: | perfil de e-mail openid |
| Autorizar ponto final: | /auth/realms/{nome-do-realm}/protocolo/openid-connect/auth |
| Ponto final do token de acesso: | /auth/realms/{nome-do-realm}/protocolo/openid-connect/token |
| Obter informações do usuário Endpoint: | /auth/realms/{nome-do-realm}/protocolo/openid-connect/userinfo |
| URL de redirecionamento personalizado após logout:[opcional] | /auth/realms/{realm-name}/protocol/openid-connect/logout?redirect_uri=RedirectUri |
Observação: Na versão Enterprise da extensão, você pode configurar vários provedores. Para configurar um provedor diferente, clique no botão "Adicionar Provedor" e configure o provedor desejado. Você pode encontrar os guias de configuração de todos os provedores em [link para os guias de configuração]. aqui..
4. Configurações Multissite (*Disponível nas versões Enterprise)
Configurações de login
5. SSO de administrador
6. Configurações de SSO sem interface gráfica (*Disponível nas versões premium)
7. Atributo / Mapeamento Personalizado (Opcional). *Este é um recurso Premium.
Mapeamento de atributos do cliente

Mapeamento de endereços de clientes
Mapeamento de atributos administrativos
8. Mapeamento de Grupos/Funções (Opcional). *Este é um recurso Premium.
Mapeamento de grupos de clientes
Mapeamento de funções administrativas
Recursos adicionais
Contato
Entre em contato conosco em magentosupport@xecurify.comNossa equipe ajudará você a configurar a extensão SSO (OAuth/OIDC) do Magento 2. Auxiliaremos você na seleção da solução/plano mais adequado às suas necessidades.
