SDK de incorporação x endpoint "Criar URL de incorporação assinada"

O Looker é ótimo para tornar os dados acessíveis a todos os seus usuários ou clientes. Como costumamos dizer, o Looker ajuda a "democratizar os dados". Você pode permitir que os usuários vejam os resultados da consulta por conta própria sem precisar que um analista crie um painel manualmente. Com o Looker, os usuários podem até fazer as próprias análises. Uma maneira de fazer isso é usando o recurso de incorporação assinada do Looker. Esta página aborda dois métodos diferentes para implementar a incorporação assinada: a API Looker e o kit de desenvolvimento de software (SDK) de incorporação do Looker.

Digamos que você queira integrar os resultados da consulta ao aplicativo ou aos sistemas internos da sua empresa e não queira fornecer credenciais do Looker a todos os usuários. Isso pode ser feito com o recurso de incorporação assinada do Looker. Isso é diferente da referência geral a fluxos de trabalho de SSO, como LDAP ou SAML, que também podem ser integrados à sua instância do Looker.

O incorporado com assinatura conectado significa que, depois que o URL de incorporação é criado e a solicitação é enviada do navegador, a sessão do Looker do usuário é iniciada e ele faz login. Esses URLs são assinados e só podem ser usados uma vez. Esses URLs criam iframes que permitem aos desenvolvedores incorporar conteúdo, como análises detalhadas, Looks e painéis, no site ou aplicativo da sua empresa. Quando o URL é usado, se o usuário não tiver uma conta, uma será criada para ele com base nos parâmetros transmitidos no URL.

Os desenvolvedores podem usar a API Looker ou os SDKs da API Looker para criar esses iframes de forma dinâmica. Você pode aplicar temas e personalizar o conteúdo para atender às necessidades da sua empresa ou de um grupo específico de usuários. Para saber mais sobre o potencial da incorporação do Looker no seu conteúdo, confira uma demonstração completa com uma explicação de como esses conceitos podem ser aplicados.

Então, como faço para começar?

Agora, digamos que você tenha assistido à demonstração e queira adicionar esses iframes ao seu aplicativo. Por onde começar e qual método é adequado para seu caso de uso?

O Looker oferece várias opções principais para gerar esse conteúdo, que pode ser colocado no seu aplicativo ou site:

Em geral, recomendamos o SDK de incorporação e endpoint de API REST aos clientes em vez de scripts de exemplo, porque o SDK e a API REST são atualizados com frequência pelos nossos desenvolvedores e geralmente criam URLs mais curtos em comparação com os scripts. Os URLs mais curtos são um pouco mais fáceis de gerenciar. O SDK de incorporação e o endpoint de API REST também oferecem alguns recursos de segurança úteis, que serão discutidos mais adiante nesta página.

Suponha que queremos que o usuário do app possa ver um painel do Looker em uma página de dados em um aplicativo do cliente. Um fluxo de trabalho de incorporação comum pode ter esta aparência:

  1. O usuário faz login em um aplicativo. Eles podem usar um serviço SAML ou apenas um e-mail e uma senha para fazer login no app.
  2. O aplicativo confirma se as credenciais estão corretas, e o usuário pode acessar o conteúdo.
  3. Com base na resposta do fluxo de trabalho de login, as informações do usuário são transmitidas para uma função que pode usar um dos nossos scripts de exemplo para criar o URL incorporado assinado. Esses scripts exigem as permissões do usuário, IDs de grupo, o segredo de incorporação, o URL do host, atributos do usuário, como nome e sobrenome, filtros de acesso, duração da sessão e o URL que queremos que o usuário possa acessar. Todas essas informações são enviadas ao Looker, e um URL assinado é criado.
  4. O usuário navega até a página de dados no aplicativo, em que esse URL assinado é colocado em um iframe. Em seguida, o navegador veicula uma solicitação no URL do iframe. O painel é propagado com uma experiência personalizada, e o usuário pode acessar dados do Looker no aplicativo.

O endpoint Create Signed Embed Url

Usando a API REST do Looker ou um dos SDKs, um desenvolvedor pode gerar um URL codificado e assinado com base em um conjunto de parâmetros. Esta é uma solicitação POST. O servidor de origem da solicitação de API precisa ser capaz de fazer a autenticação no Looker com permissões de administrador. Um dos principais benefícios de usar esse endpoint é que um secret de incorporação não é necessário. O endpoint já está configurado para recuperar o secret de incorporação atual. As chamadas para esse endpoint também não são contabilizadas nas limitações de taxa da API. Em geral, as credenciais de API são mais fáceis de alternar do que um segredo incorporado. Várias credenciais da API 3 podem estar ativas ao mesmo tempo, mas apenas um segredo de incorporação pode ser usado por vez em uma instância. Isso facilita a troca das credenciais sem interrupção do serviço. O endpoint Create Signed Embed Url também cria um URL mais curto e conciso em comparação com os scripts de exemplo no repositório de exemplos de script de URL incorporado assinado.

Confira um exemplo de fluxo de trabalho que usa o endpoint Create Signed Embed Url:

  1. O usuário tenta fazer login no seu aplicativo, geralmente com uma combinação de nome de usuário e senha ou possivelmente por um provedor de identidade (IdP).
  2. Se o login for bem-sucedido, o endpoint Create Signed Embed Url será executado. Uma função criada pela equipe de desenvolvimento transmite as credenciais específicas desse usuário para o endpoint, e um URL assinado é retornado do Looker para seu servidor.
  3. O usuário pode ter a opção de clicar em uma guia de dados no aplicativo. Quando eles navegam até a guia "Dados", essa página solicita o URL assinado do seu servidor e o coloca no iframe da página.
  4. O usuário vê um painel do Looker perfeitamente iframado no seu aplicativo com dados ativos.

SDK de incorporação

O SDK de incorporação do Looker é uma coleção de funções JavaScript agrupadas para facilitar a incorporação de conteúdo do Looker para desenvolvedores. Com o SDK de incorporação, você pode adicionar conteúdo do Looker a uma página no seu aplicativo ou site sem precisar criar elementos HTML específicos. O SDK permite que os desenvolvedores criem uma comunicação ponto a ponto segura entre a página HTML e o conteúdo do Looker. O SDK de incorporação agora encapsula o iframe, o que significa que os clientes não precisam criar nem gerenciar o iframe. O SDK de incorporação é apenas para apps de navegador, mas inclui uma função utilitária auxiliar para gerar o URL assinado. Ambos estão disponíveis em TypeScript e Python. Embora o SDK Embed esteja no registro nmpjs, não é necessário usar um servidor da Web Node.js.

Um recurso exclusivo do SDK de incorporação é que ele também permite aproveitar os componentes do Looker, uma coleção de blocos de código reutilizáveis criados para ajudar a implementar o sistema de design do Looker.

Outro benefício do SDK de incorporação é o número de funções pré-criadas que removem muito do trabalho da sua equipe de desenvolvimento. Um dos principais exemplos é o cancelamento de cliques. O SDK incorporado usa a API MessageChannel em vez de postMessage. Isso significa que dois scripts em execução na mesma página podem se comunicar usando a API postMessage. Isso permite que outras funções se comuniquem com o iframe ou que outras funções se comuniquem com o iframe.

Um exemplo de fluxo de trabalho para o SDK Embed pode ser assim:

  1. O usuário tenta fazer login no seu aplicativo.
  2. Se o login for bem-sucedido, as informações serão enviadas para o utilitário auxiliar Node.js no servidor que executa o aplicativo. Isso transmite as informações necessárias à instância do Looker, e um URL assinado é retornado.
  3. O usuário navega até a página de dados no aplicativo em que o SDK de incorporação é usado para colocar o iframe. Como o SDK de incorporação é escrito em JavaScript, podemos usar LookerEmbedSDK.createDashboardWithId e segmentar um elemento DOM específico (geralmente um span ou div) na página para anexar o iframe (URL assinado).
  4. A página é carregada, e o URL assinado carrega o painel da instância do Looker.

Então, qual é o melhor método?

A escolha de um desses métodos pela equipe de desenvolvimento depende do seu caso de uso específico:

Diagrama de Venn destacando semelhanças e diferenças entre os métodos "Criar URL de incorporação assinado" e "SDK de incorporação".

Como mostrado no diagrama anterior, tanto o método de endpoint Create Signed Embed Url quanto o método do SDK Embed descrito anteriormente permitem que sua equipe de desenvolvimento se concentre no produto em vez de como o Looker se integra ao app. Os dois métodos também permitem experiências de dados avançadas no seu aplicativo nativo.

O método de endpoint Create Signed Embed Url difere do método do SDK incorporado das seguintes maneiras:

  • Não requer um segredo de incorporação.
  • O processo é semelhante ao uso de outras APIs REST.
  • O endpoint precisa ser chamado do lado do servidor.

O método do SDK Embed tem os seguintes recursos:

  • Ele é baseado em JavaScript e pode segmentar elementos DOM específicos.
  • Ele interage com componentes do Looker para ajudar a estilizar a UI.
  • Ele se integra a funções utilitárias auxiliares, e o desenvolvimento pode ser feito do lado do cliente.

Se você tiver dúvidas específicas sobre os requisitos de desenvolvimento ou arquitetura, entre em contato com a equipe de serviços profissionais do Looker ou com um dos nossos parceiros de desenvolvimento.

Além disso, nossa equipe de suporte pode ajudar você a resolver problemas de alto nível ou comportamentos inesperados. Para abrir uma solicitação de suporte na Central de Ajuda do Looker, clique em Entre em contato.

Confira a postagem na comunidade Ferramentas de incorporação assinada e recursos de solução de problemas para mais informações.