Plugin de Iniciar sessão L2L - Configuração
Last updated: June 19, 2026
O plugin de início de sessão L2L é um dos componentes do projeto L2L Estúdio. O principal objetivo deste plugin é permitir-lhe utilizar o L2L como fornecedor de SSO para a sua aplicação L2L Estúdio. Isto permite-lhe manter um elevado nível de segurança em torno dos seus dados.
Este guia explica como adicionar o plugin de início de sessão L2L a qualquer aplicação Bubble.
Configuração do plugin de início de sessão L2L num projeto existente
- Adicione o plug-in L2L Login à sua aplicação
- Ative a API de workflows no Editor do Bubble. Aceda a Settings → API e clique na caixa de verificação junto a “Enable Workflow API and backend workflows.” Tome nota do URL raiz da API de workflows, pois será utilizado mais tarde.
- Adicione um parâmetro adicional ao tipo de dados User. Aceda ao separador Data e clique no tipo de dados “User”. Adicione o seguinte campo com o tipo indicado:
- LoginError → texto
- Adicione um novo tipo de dados para guardar as variáveis utilizadas na configuração de início de sessão. Aceda ao separador Data e crie um novo tipo de dados chamado “LoginConfig.” No novo tipo de dados LoginConfig, adicione os seguintes campos com o tipo de dados indicado:
- AuthExpiresMinutes → número
- BubbleAppCertificate → texto
- BubbleAppPrivateKey → texto
- BubbleAppURL → texto
- CallbackURL → texto
- DispatchCertificate → texto
- DispatchServer → texto
- Adicione um novo tipo de dados para guardar as sessões de utilizador. Aceda ao separador Data e crie um novo tipo de dados chamado "UserSession." Adicione os seguintes campos:
- AuthExpires → data
- NameId → texto
- UserUniqueId → texto
- Crie uma nova página para o caso de ocorrer um erro de início de sessão.
- Chame à nova página “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 processar o callback de autenticação do servidor L2L Dispatch.
- No editor do Bubble, aceda ao seletor de páginas e escolha “Backend workflows.”
- Clique na caixa pontilhada para criar um novo workflow de backend, escolha “New API workflow…” e introduza o seguinte na caixa de diálogo:
- Nome do workflow de API: login_complete
- Expor como workflow de API público: selecionado
- Este workflow pode ser executado sem autenticação: selecionado
- Ignorar regras de privacidade ao executar o workflow: não selecionado
- Acionar workflow com: POST
- Definição de parâmetros: definição manual
- Adicionar um novo parâmetro:
- Chave: SAMLResponse
- Tipo: texto
- É uma lista/matriz: não selecionado
- Opcional: não selecionado
- Querystring: não selecionado
- Adicionar um novo parâmetro:
- Chave: sessionid
- Tipo: texto
- É uma lista/matriz: não selecionado
- Opcional: selecionado
- Querystring: selecionado
- Adicionar um novo parâmetro:
- Chave: user_unique_id
- Tipo: texto
- Querystring: selecionado
- 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 “Click here to add an action…” e escolha Action → Plugins → validate_response. Introduza o seguinte na caixa de diálogo:
- Resposta:
SAMLResponse - Certificado de expedição:
Search for LoginConfigs:first item’s DispatchCertificate - URL da aplicação Bubble
Search for LoginConfigs:first item’s BubbleAppURL - Servidor
Search for LoginConfigs:first item’s DispatchServer
- Resposta:
- Adicione outra ação e escolha Data (Things) → Create a new thing...
- Na caixa de diálogo, escolha
UserSessionpara o tipo - Clique em "Set another field" para cada um dos seguintes campos:
AuthExpires = Current date/time +(minutes): Search for LoginConfigs:first item's AuthExpiresMinutesNameId = Result of step 1 (validate_response)’s Name IDUserUniqueId = user_unique_id
- Introduza o seguinte na secção “Only when”:
Result of step 1 (validate_response)’s Is Authenticated is “yes”
- Na caixa de diálogo, escolha
- Adicione mais uma ação e escolha Account → Make changes to current user.
- Na caixa de diálogo, clique em “Change another field” e introduza o seguinte:
LoginError = Result of step 1 (validate_response)’s Error
- Na caixa de diálogo, clique em “Change another field” e introduza o seguinte:
- Adicione um novo workflow reutilizável que será utilizado para obrigar os utilizadores a iniciar sessão.
- No seletor de páginas, clique em “Add a new reusable element…” e chame ao novo elemento reutilizável: L2L Login
- Clique no separador Workflow
- Adicione um novo evento clicando na caixa pontilhada chamada “Click here to add an event…” e clique em Custom → Create a custom event…
- Introduza o seguinte na caixa de diálogo:
- Nome do evento: L2L Login
- Only when:
Search for UserSessions - Na caixa Search for UserSessions, introduza o seguinte:
- Tipo:
UserSession - Adicione as seguintes restrições:
UserUniqueId = CurrentUser's unique idAuthExpires > Current date/time
- Tipo:
- Atualize a secção Only when na caixa L2L Login para que apresente:
Search for UserSessions:count is 0 - Adicione uma nova ação clicando na caixa pontilhada chamada “Click here to add an action…”
- Selecione Plugins → get_l2l_login_url
- Na caixa de diálogo, introduza o seguinte:
- Servidor de expedição:
Search for LoginConfigs:first item’s DispatchServer - Chave privada da aplicação Bubble:
Search for LoginConfigs: first item’s BubbleAppPrivateKey - Certificado da aplicação Bubble:
Search for LoginConfigs:first item’s BubbleAppCertificate - URL da aplicação 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, utilize a seguinte expressão para o URL de callback:
Search for LoginConfigs:first item’s CallbackURLArbitrary TextCurrentUser's unique ide introduza o seguinte texto na entrada Arbitrary Text:?user_unique_id=
- *Para a versão 2.0.0 e anteriores, utilize a seguinte expressão para o URL de callback:
- ID exclusivo do utilizador:
CurrentUser's unique id
- Servidor de expedição:
- Adicione uma nova ação clicando em “Click here to add action…”
- Selecione Navigation → Open an external website
- Na caixa de diálogo, introduza 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 possa ser adicionado a cada página
- Aceda ao separador Design
- Selecione a caixa branca
- Na caixa de diálogo, selecione o separador Appearance
- Defina a altura como: 0
- Adicione o workflow L2L Login a todas as páginas onde a autenticação seja necessária. Este guia mostra-lhe como adicioná-lo à página index.
- Selecione “index” no seletor de páginas e selecione o separador Design
- Arraste L2L Login da secção Reusable Elements para o topo da página.
- Clique no separador Workflow
- Crie um novo evento clicando na caixa chamada “Click here to add an event…” e escolha General → Page is loaded
- Adicione uma nova ação clicando na caixa chamada “Click here to add an action…”
- Escolha Custom Events → Trigger a custom event from a reusable element
- Na caixa de diálogo, introduza o seguinte:
- Elemento reutilizável: L2L Login A (ou o nome que atribuiu ao novo elemento)
- Evento personalizado: L2L Login
Configurar a aplicação
- Adicionar uma ligação para a aplicação Estúdio no L2L Expedição
- Recomendamos adicionar uma ligação num site sandbox para a versão de desenvolvimento e uma ligação para a aplicação Bubble em Produção nos seus sites de produção. Para a versão de desenvolvimento, certifique-se de que acrescenta
/version-test/ao final do URL do Bubble. Para a versão em Produção, certifique-se de que o deixa de fora.
- Recomendamos adicionar uma ligação num site sandbox para a versão de desenvolvimento e uma ligação para a aplicação Bubble em Produção nos seus sites de produção. Para a versão de desenvolvimento, certifique-se de que acrescenta
- Criar um novo certificado autoassinado e uma chave que serão utilizados para validar a aplicação Bubble com o servidor L2L Expedição. Estes serão utilizados no passo 3.
- Transferir o certificado L2L.
- Introduzir os novos dados da aplicação no Bubble. Ao criar a aplicação, certifique-se de que seleciona a base de dados de desenvolvimento. Ao implementar em Produção, certifique-se de que seleciona a base de dados de Produção.
- Aceda ao separador Data → App data, selecione “All LoginConfigs” e, em seguida, clique no botão “New entry”.
- Introduza os seguintes dados no novo formulário:
- AuthExpiresMinutes → 720
- 720 minutos correspondem a 12 horas. Pode optar por personalizar este campo para o valor que fizer sentido para a sua aplicação.
- BubbleAppCertificate → Copie/cole todo o conteúdo do ficheiro certificate.pem gerado no passo 2.
- BubbleAppPrivateKey → Copie/cole todo o conteúdo do ficheiro key.pem gerado no passo 2.
- BubbleAppURL → Este é o URL da aplicação Bubble. Pode encontrá-lo no Editor do Bubble, em Settings → Domain / email, se tiver um domínio personalizado. Se não tiver um domínio personalizado, pode encontrá-lo clicando no botão “run” no ecrã da lista de aplicações Bubble. Remova tudo exceto o domínio completo. Terá o seguinte aspeto:
acme-app.bubbleapps.io- Será igual nas bases de dados Bubble de Desenvolvimento e de Produção. Não acrescente /version-test.
- CallbackURL → Depois de autenticado, o L2L enviará o navegador de volta para este URL. Terá de construir este URL. Comece por copiar o URL encontrado no ecrã Settings → API, denominado “Workflow API root URL”. Agora acrescente “/login_complete” ao final. Deverá ter o seguinte aspeto:
https://acme-app.bubbleapps.io/version-test/api/1.1/wf/login_complete - DispatchCertificate → Este é o certificado do servidor L2L Expedição. Foi transferido no passo 3.
- DispatchServer → Este é o servidor L2L Expedição do cliente. Certifique-se de que inclui “https://.” Deverá ter o seguinte aspeto:
https://acme.leading2lean.com
- AuthExpiresMinutes → 720
Publicar a aplicação
Agora que o Plugin L2L foi adicionado, os dados e os fluxos de trabalho foram definidos e a aplicação foi configurada, pode publicar a aplicação. Algumas funcionalidades do Bubble estão desativadas antes da publicação, pelo que deve ser adicionada uma subscrição para testar completamente o plugin L2L Iniciar sessão.
Depois de a aplicação ter sido testada, terá de configurar a aplicação para o site em Produção. Basta seguir os passos da secção "Configurar a aplicação" para a sua base de dados em Produção.
Resolução de problemas
Se estiver a receber erros na aplicação Bubble ou no servidor L2L, verifique o seguinte:
- Verifique cada uma das Configurações de Iniciar sessão para garantir que não têm espaços extra ou novas linhas.
- Certifique-se de que o URL da aplicação Bubble na sua Configuração de Iniciar sessão corresponde ao URL da Configuração da aplicação do Estúdio L2L.