Configuração do Embed
Este guia ensina como configurar o n8n embarcado em sua aplicação, cobrindo parâmetros essenciais, permissões, customização visual, integração com autenticação e exemplos práticos para diferentes cenários empresariais.
Parâmetros Básicos
Exemplo de Iframe
<iframe
src="https://n8n.suaempresa.com/embed?workflowId=123&mode=edit&theme=corporate&lang=pt-BR&hideSidebar=true"
width="100%"
height="800"
frameborder="0"
allowfullscreen
></iframe>
Segurança e CORS
Configure o header
X-Frame-Options: SAMEORIGIN
ou ALLOW-FROM
para domínios confiáveis.
Use
Content-Security-Policy
para restringir origens do iframe:
add_header Content-Security-Policy "frame-ancestors 'self' https://app.suaempresa.com" always;
Defina domínios permitidos para CORS:
N8N_CORS_ALLOW_ORIGIN=https://app.suaempresa.com
Autenticação e Permissões
Configuração de Permissões
{
"workflowId": "abc123",
"permissions": {
"user1@empresa.com": ["read", "write"],
"user2@empresa.com": ["read"],
"group:marketing": ["read", "execute"]
}
}
Integração com SSO
SAML
N8N_SAML_ENABLED=true
N8N_SAML_ISSUER=https://sso.suaempresa.com
N8N_SAML_ENTRY_POINT=https://sso.suaempresa.com/sso
N8N_SAML_CERT=/path/to/certificate.pem
OAuth2
N8N_OAUTH2_AUTH_URL=https://sso.suaempresa.com/oauth/authorize
N8N_OAUTH2_TOKEN_URL=https://sso.suaempresa.com/oauth/token
N8N_OAUTH2_CLIENT_ID=seu_client_id
N8N_OAUTH2_CLIENT_SECRET=SEU_CLIENT_SECRET_AQUI
LDAP
N8N_LDAP_ENABLED=true
N8N_LDAP_SERVER_URL=ldap://ldap.suaempresa.com:389
N8N_LDAP_BIND_DN=cn=admin,dc=suaempresa,dc=com
N8N_LDAP_BIND_PASSWORD=SUA_SENHA_LDAP_AQUI
N8N_LDAP_BASE_DN=dc=suaempresa,dc=com
Customização Visual
Temas e Branding
Parâmetros de tema:
theme=light
, theme=dark
, theme=corporate
Personalize cores, logo e fontes via variáveis de ambiente:
N8N_THEME_PRIMARY_COLOR=#1e40af
N8N_THEME_SECONDARY_COLOR=#059669
N8N_THEME_LOGO_URL=https://suaempresa.com/logo.png
CSS customizado:
N8N_CUSTOM_CSS_URL=https://suaempresa.com/n8n_custom.css
Comunicação entre Host e Embed
PostMessage API
// No host
iframe.contentWindow.postMessage({ type: 'n8n_load_workflow', workflowId: 'abc123' }, '*');
// No embed
window.addEventListener('message', (event) => {
if (event.data.type === 'n8n_load_workflow') {
// Carregar workflow
}
});
Webhooks para eventos do editor:
{
"event": "workflow.saved",
"workflowId": "abc123",
"user": "user@empresa.com",
"timestamp": "2024-06-01T12:00:00Z"
}
Exemplos Práticos
Exemplo de Configuração Completa
<iframe
src="https://n8n.suaempresa.com/embed?workflowId=456&mode=view&theme=dark&lang=pt-BR&readonly=true&token=SEU_TOKEN_AQUI"
width="100%"
height="900"
frameborder="0"
allowfullscreen
sandbox="allow-scripts allow-same-origin allow-forms"
></iframe>
Parâmetros Dinâmicos via URL
const params = new URLSearchParams({
workflowId: '789',
mode: 'edit',
theme: 'corporate',
lang: 'pt-BR',
hideSidebar: 'true',
token: 'eyJ...'
});
iframe.src = `https://n8n.suaempresa.com/embed?${params.toString()}`;
Checklist de Configuração
- Definir domínios permitidos (CORS e CSP)
- Configurar autenticação (API Key, SSO, OAuth, LDAP)
- Personalizar tema, logo e idioma
- Limitar funcionalidades conforme o caso de uso
- Testar comunicação entre host e embed
- Validar segurança do iframe
Dica Pro
Use tokens de curta duração e renove-os automaticamente para maior segurança no embed.
Importante
Sempre teste o embed em ambiente de homologação antes de liberar para produção. Restrinja domínios e permissões para evitar vazamentos de dados.