Plugin de Entrar L2L - Configuração
Last updated: June 19, 2026
O Plugin de Entrar L2L é um dos componentes do projeto L2L Estúdio. O principal objetivo deste plugin é permitir que você use o L2L como um provedor de SSO para seu aplicativo L2L Estúdio. Isso permite que você mantenha um alto nível de segurança em torno dos seus dados.
Este guia explicará como adicionar o plugin de Entrar L2L a qualquer aplicativo Bubble.
Configurando o Plugin de Entrar L2L em um Projeto Existente
- Adicione o plugin L2L Login ao seu aplicativo
- Ative a API de Workflow no Editor do Bubble. Vá para Configurações → API e marque a caixa de seleção ao lado de “Ativar a API de Workflow e os workflows de backend.” Anote a URL raiz da API de Workflow, pois ela será usada posteriormente.
- Adicione um parâmetro adicional ao tipo de dados User. Vá para a aba Dados e clique no tipo de dados “User”. Adicione o campo a seguir com o tipo indicado:
- LoginError → texto
- Adicione um novo tipo de dados para armazenar as variáveis usadas na configuração de login. Vá para a aba Dados e crie um novo tipo de dados chamado “LoginConfig”. No novo tipo de dados LoginConfig, adicione os campos a seguir com os tipos de dados indicados:
- AuthExpiresMinutes → número
- BubbleAppCertificate → texto
- BubbleAppPrivateKey → texto
- BubbleAppURL → texto
- CallbackURL → texto
- DispatchCertificate → texto
- DispatchServer → texto
- Adicione um novo tipo de dados para armazenar as sessões de usuário. Vá para a aba Dados e crie um novo tipo de dados chamado "UserSession". Adicione os campos a seguir:
- AuthExpires → data
- NameId → texto
- UserUniqueId → texto
- Crie uma nova página para o caso de erro de login.
- Chame a nova página de “login_error”
- Crie um elemento de texto com o seguinte conteúdo dinâmico:
Current User’s LoginError
- Crie um novo workflow de API para lidar com o callback de autenticação do servidor L2L Dispatch.
- No editor do Bubble, vá para o seletor de páginas e escolha “Workflows de backend”.
- Clique na caixa pontilhada para criar um novo workflow de backend, escolha “Novo workflow de API...” e insira o seguinte na caixa de diálogo:
- Nome do workflow de API: login_complete
- Expor como um workflow de API público: marcado
- Este workflow pode ser executado sem autenticação: marcado
- Ignorar regras de privacidade ao executar o workflow: não marcado
- Acionar workflow com: POST
- Definição de parâmetros: Definição manual
- Adicionar um novo parâmetro:
- Chave: SAMLResponse
- Tipo: texto
- É uma lista/array: não marcado
- Opcional: não marcado
- Querystring: não marcado
- Adicionar um novo parâmetro:
- Chave: sessionid
- Tipo: texto
- É uma lista/array: não marcado
- Opcional: marcado
- Querystring: marcado
- Adicionar um novo parâmetro:
- Chave: user_unique_id
- Tipo: texto
- Querystring: marcado
- Tipo de resposta: Redirecionamento de página (302)
- Redirecionamento em caso de sucesso: index
- Redirecionamento em caso de erro: login_error
- Adicione uma nova ação clicando na caixa pontilhada com o texto “Clique aqui para adicionar uma ação…” e escolha Ação → Plugins → validate_response. Insira o seguinte na caixa de diálogo:
- Resposta:
SAMLResponse - Certificado do Dispatch:
Search for LoginConfigs:first item’s DispatchCertificate - URL do aplicativo Bubble
Search for LoginConfigs:first item’s BubbleAppURL - Servidor
Search for LoginConfigs:first item’s DispatchServer
- Resposta:
- Adicione outra nova ação e escolha Dados (Coisas) → Criar uma nova coisa...
- Na caixa de diálogo, escolha
UserSessionpara o Tipo - Clique em "Definir outro campo" para cada um dos itens a seguir:
AuthExpires = Current date/time +(minutes): Search for LoginConfigs:first item's AuthExpiresMinutesNameId = Result of step 1 (validate_response)’s Name IDUserUniqueId = user_unique_id
- Insira o seguinte na seção “Somente quando”:
Result of step 1 (validate_response)’s Is Authenticated is “yes”
- Na caixa de diálogo, escolha
- Adicione mais uma nova ação e escolha Conta → Fazer alterações no usuário atual.
- Na caixa de diálogo, clique em “Alterar outro campo” e insira o seguinte:
LoginError = Result of step 1 (validate_response)’s Error
- Na caixa de diálogo, clique em “Alterar outro campo” e insira o seguinte:
- Adicione um novo workflow reutilizável que será usado para forçar os usuários a fazer login.
- No seletor de páginas, clique em “Adicionar um novo elemento reutilizável…” e chame o novo elemento reutilizável de: L2L Login
- Clique na aba Workflow
- Adicione um novo evento clicando na caixa pontilhada chamada “Clique aqui para adicionar um evento…” e clique em Personalizado → Criar um evento personalizado…
- Insira o seguinte na caixa de diálogo:
- Nome do evento: L2L Login
- Somente quando:
Search for UserSessions - Na caixa Pesquisar UserSessions, insira o seguinte:
- Tipo:
UserSession - Adicione as seguintes restrições:
UserUniqueId = CurrentUser's unique idAuthExpires > Current date/time
- Tipo:
- Atualize a seção Somente quando na caixa L2L Login para que ela leia:
Search for UserSessions:count is 0 - Adicione uma nova ação clicando na caixa pontilhada chamada “Clique aqui para adicionar uma ação…”
- Selecione Plugins → get_l2l_login_url
- Na caixa de diálogo, insira o seguinte:
- Servidor Dispatch:
Search for LoginConfigs:first item’s DispatchServer - Chave privada do aplicativo Bubble:
Search for LoginConfigs: first item’s BubbleAppPrivateKey - Certificado do aplicativo Bubble:
Search for LoginConfigs:first item’s BubbleAppCertificate - URL do aplicativo Bubble:
Search for LoginConfigs:first item’s BubbleAppURL - URL de callback*:
Search for LoginConfigs:first item’s CallbackURL- *Para a versão 2.0.0 e anteriores, use a seguinte expressão para a URL de callback:
Search for LoginConfigs:first item’s CallbackURLArbitrary TextCurrentUser's unique ide insira o seguinte texto na entrada Texto arbitrário:?user_unique_id=
- *Para a versão 2.0.0 e anteriores, use a seguinte expressão para a URL de callback:
- ID exclusivo do usuário:
CurrentUser's unique id
- Servidor Dispatch:
- Adicione uma nova ação clicando em “Clique aqui para adicionar uma ação…”
- Selecione Navegação → Abrir um site externo
- Na caixa de diálogo, insira o seguinte:
- Destino:
Result of step 1 (get_l2l_login_url)’s login_url
- Destino:
- Defina a altura do elemento reutilizável como 0 para que ele possa ser adicionado a cada página
- Vá para a aba Design
- Selecione a caixa branca
- Na caixa de diálogo, selecione a aba Aparência
- Defina a altura como: 0
- Adicione o workflow L2L Login a todas as páginas nas quais a autenticação é necessária. Este guia mostrará como adicioná-lo à página index.
- Selecione “index” no seletor de páginas e selecione a aba Design
- Arraste o L2L Login da seção Elementos reutilizáveis para o topo da página.
- Clique na aba Workflow
- Crie um novo evento clicando na caixa chamada “Clique aqui para adicionar um evento…” e escolha Geral → A página foi carregada
- Adicione uma nova ação clicando na caixa chamada “Clique aqui para adicionar uma ação…”
- Escolha Eventos personalizados → Acionar um evento personalizado de um elemento reutilizável
- Na caixa de diálogo, insira o seguinte:
- Elemento reutilizável: L2L Login A (ou qualquer que seja o nome do seu novo elemento)
- Evento personalizado: L2L Login
Configurar o aplicativo
- Adicionar um link para o aplicativo Estúdio no Despacho L2L
- Recomendamos adicionar um link em um site sandbox para a versão de desenvolvimento e um link para o aplicativo Bubble ativo nos seus sites de produção. Para a versão de desenvolvimento, certifique-se de acrescentar
/version-test/ao final da URL do Bubble. Para a versão ativa, certifique-se de não acrescentá-lo.
- Recomendamos adicionar um link em um site sandbox para a versão de desenvolvimento e um link para o aplicativo Bubble ativo nos seus sites de produção. Para a versão de desenvolvimento, certifique-se de acrescentar
- Crie um novo certificado autoassinado e uma chave que serão usados para validar o aplicativo Bubble com o servidor do Despacho L2L. Eles serão usados na etapa 3.
- Baixe o certificado L2L.
- Insira os novos dados do aplicativo no Bubble. Durante a criação do aplicativo, certifique-se de selecionar o banco de dados de desenvolvimento. Ao implantar em produção, certifique-se de selecionar o banco de dados de produção.
- Vá para a aba Data → App data, selecione “All LoginConfigs” e clique no botão “New entry”.
- Insira o seguinte no novo formulário:
- AuthExpiresMinutes → 720
- 720 minutos correspondem a 12 horas. Você pode optar por personalizar este campo conforme fizer sentido para o seu aplicativo.
- BubbleAppCertificate → Copie/cole todo o conteúdo do arquivo certificate.pem gerado na etapa 2.
- BubbleAppPrivateKey → Copie/cole todo o conteúdo do arquivo key.pem gerado na etapa 2.
- BubbleAppURL → Esta é a URL do aplicativo Bubble. Ela pode ser encontrada no Editor do Bubble, em Settings → Domain / email, se você tiver um domínio personalizado. Se você não tiver um domínio personalizado, ela poderá ser encontrada clicando no botão “run” na tela da lista de aplicativos do Bubble. Remova tudo, exceto o domínio completo. Ele será semelhante a este:
acme-app.bubbleapps.io- Será o mesmo nos bancos de dados de Desenvolvimento e Produção do Bubble. Não acrescente /version-test.
- CallbackURL → Depois de autenticado, o L2L enviará o navegador de volta para esta URL. Você precisará construir esta URL. Comece copiando a URL encontrada na tela Settings → API, chamada “Workflow API root URL”. Agora acrescente “/login_complete” ao final. Ela deverá ser semelhante a esta:
https://acme-app.bubbleapps.io/version-test/api/1.1/wf/login_complete - DispatchCertificate → Este é o certificado do servidor de Despacho L2L. Ele foi baixado na etapa 3.
- DispatchServer → Este é o servidor de Despacho L2L do cliente. Certifique-se de incluir “https://.”. Ele deverá ser semelhante a este:
https://acme.leading2lean.com
- AuthExpiresMinutes → 720
Publicar o aplicativo
Agora que o Plugin L2L foi adicionado, os dados e fluxos de trabalho foram definidos e o aplicativo foi configurado, você pode publicar o aplicativo. Alguns recursos do Bubble estão desativados antes da publicação, portanto, uma assinatura deve ser adicionada para testar completamente o plugin L2L Entrar.
Depois que o aplicativo tiver sido testado, você precisará configurá-lo para o site Live. Basta seguir as etapas na seção "Configurar o aplicativo" para o seu banco de dados Live.
Solução de problemas
Se você estiver recebendo erros no aplicativo Bubble ou no servidor L2L, verifique o seguinte:
- Verifique cada uma das Configurações de Login para garantir que não tenham espaços extras ou novas linhas.
- Certifique-se de que a URL do aplicativo Bubble da sua Configuração de Login corresponda à URL da Configuração do aplicativo do Estúdio L2L.