A incorporação assinada é uma forma de apresentar Looks, visualizações, explorações, painéis de controlo ou painéis de controlo do LookML incorporados privados aos seus utilizadores sem exigir que tenham um início de sessão do Looker separado. Em alternativa, os utilizadores são autenticados através da sua própria aplicação.
A incorporação assinada funciona através da criação de um URL do Looker especial que vai usar num iFrame. O URL contém as informações que quer partilhar, o ID do utilizador no seu sistema e as autorizações que quer que o utilizador tenha. Em seguida, assina o URL com uma chave secreta fornecida pelo Looker.
Para a incorporação pública, consulte a secção Incorporação pública com etiquetas iframe
da página de documentação Partilha, importação e incorporação públicas de visuais.
Antes de poder usar a incorporação assinada na sua instância do Looker, um administrador do Looker tem de ativar a incorporação assinada no painel de administração do Looker e criar uma chave secreta de incorporação. Para ver instruções, consulte a página de documentação Introdução à incorporação: ativar a incorporação assinada.
Alojamento adequado para incorporação assinada
Alguns navegadores, por exemplo, o Safari ou navegadores com extensões instaladas que bloqueiam anúncios ou cookies de acompanhamento, têm por predefinição uma política de cookies que bloqueia cookies de terceiros. Quando a funcionalidade Incorporação sem cookies está ativada, os navegadores que bloqueiam cookies de terceiros podem autenticar utilizadores no iFrame incorporado em diferentes domínios. A autenticação de incorporação sem cookies requer configuração do lado do servidor. Consulte a página de documentação Incorporação sem cookies para ver exemplos de configuração.
Se a funcionalidade Incorporação sem cookies não estiver ativada, o Looker usa cookies para a autenticação do utilizador. Neste caso, a tentativa de autenticação do iFrame incorporado em vários domínios não é possível em navegadores que bloqueiam cookies de terceiros (a menos que o utilizador modifique as definições de privacidade de cookies do navegador). Por exemplo, se quiser incorporar informações sobre https://mycompany.com
, tem de se certificar de que o Looker partilha o mesmo domínio, como https://analytics.mycompany.com
. Neste caso, se o Looker estiver a alojar a sua instância, contacte o apoio técnico do Looker para configurar a configuração DNS necessária para ativar a utilização de domínios personalizados. Isto permite que o Looker partilhe o mesmo domínio que a aplicação incorporada e utilize cookies originais, que são aceites por predefinição em todos os navegadores.
Se tiver uma instância do Looker alojada pelo cliente, certifique-se de que a aplicação que vai usar a incorporação assinada usa o mesmo domínio que a sua instância do Looker.
Controlar a visibilidade do cliente com um sistema fechado
Numa configuração incorporada com sessão iniciada, é comum os utilizadores do Looker apresentarem dados aos seus próprios clientes, ao mesmo tempo que têm clientes de diferentes empresas ou grupos que não devem ter conhecimento uns dos outros. Neste cenário, para salvaguardar as informações privadas dos seus clientes, recomendamos vivamente que configure o Looker como um sistema fechado, também denominado instalação multiinquilino. Num sistema fechado, o conteúdo é isolado para impedir que os utilizadores de diferentes grupos saibam uns dos outros. Por este motivo, recomendamos que ative a opção Sistema fechado antes de conceder acesso à sua instância a utilizadores externos.
Para mais informações, consulte as páginas de documentação Conceber e configurar um sistema de níveis de acesso e Práticas recomendadas de segurança para estatísticas incorporadas.
Gerar o URL de incorporação assinado
Existem várias formas de gerar o URL incorporado assinado. Pode usar um destes métodos:
Pode gerar um URL incorporado assinado através da opção Obter URL incorporado no menu de três pontos do painel de controlo de um painel de controlo ou no menu de engrenagem das ações de exploração de uma análise detalhada ou de uma exploração.
Use o ponto final da API Looker Create Signed Embed URL, conforme descrito mais adiante neste documento.
Use o SDK Looker Embed.
Codifique o URL de incorporação assinado. A criação do URL adequado requer que escreva código para poder codificar corretamente o URL com a sua chave secreta e gerar outros itens relacionados com a segurança. Pode encontrar vários scripts de exemplo no repositório do GitHub de exemplos de incorporação do Looker. As secções seguintes explicam as informações que tem de fornecer a esses scripts, bem como a forma de criar um URL incorporado assinado sem usar um script.
Codificar manualmente o URL de incorporação assinado
Para codificar o URL incorporado assinado, primeiro recolha as informações necessárias do Looker e, em seguida, crie o URL incorporado assinado.
Recolher as informações necessárias do Looker
Como ponto de partida para criar o URL, comece por determinar todas as informações que têm de ser incluídas. Vai precisar de:
Incorporar URL
Obtenha o URL do visual de dados, da exploração, da visualização de consultas ou do painel de controlo que quer incorporar. Em seguida, remova o domínio e coloque /embed
antes do caminho, da seguinte forma:
Item | Padrão do URL normal | Incorporar URL |
---|---|---|
Look | https://instance_name.looker.com/looks/4 |
/embed/looks/4 |
Explore | https://instance_name.looker.com/explore/my_model/my_explore |
/embed/explore/my_model/my_explore |
Visualização de consultas | https://instance_name.looker.com/explore/my_model/my_explore?qid=1234567890abcdefghij12 Os 22 carateres alfanuméricos que seguem o parâmetro qid= no URL de exploração compõem o Query.client_id . O valor Query.client_id é uma string única que representa a consulta e as definições de visualização.Para incorporar uma visualização de consulta, obtenha o valor Query.client_id da visualização de consulta e copie-o para o URL de incorporação.Query.client_id Pode usar a IU Explorar do Looker para criar uma consulta com uma visualização suportada e copiar o valor Query.client_id do parâmetro qid= ou pode obter o Query.client_id com a API Looker, usando o método Get Query , por exemplo. |
/embed/query-visualization/Query.client_id |
Painel de controlo definido pelo utilizador | https://instance_name.looker.com/dashboards/1 Inclua quaisquer valores de filtros do painel de controlo ou, se estiver a ocultar valores de filtros, o parâmetro hide_filter no URL do painel de controlo. |
|
Painel de controlo antigo definido pelo utilizador | https://instance_name.looker.com/dashboards-legacy/1 |
/embed/dashboards-legacy/1 |
Painel de controlo do LookML | https://instance_name.looker.com/dashboards/my_model::my_dashboard |
/embed/dashboards/my_model::my_dashboard |
Painel de controlo do LookML antigo | https://instance_name.looker.com/dashboards-legacy/my_model::my_dashboard |
/embed/dashboards-legacy/my_model::my_dashboard |
O conteúdo incorporado reflete sempre a versão de produção do conteúdo. As alterações feitas no modo de desenvolvimento que afetam o conteúdo e que não foram implementadas na produção não aparecem numa incorporação.
Autorizações
Um conjunto de autorizações define o que um utilizador ou um grupo pode fazer. As autorizações podem ser aplicadas de uma das duas formas seguintes:
- Específico do modelo: este tipo de autorização é aplicado apenas aos conjuntos de modelos que fazem parte da mesma função.
- Abrangente à instância: este tipo de autorização aplica-se à instância do Looker como um todo. Os utilizadores incorporados com autorizações ao nível da instância podem realizar determinadas funções em toda a instância do Looker, mas não podem aceder a conteúdo com base em modelos não incluídos no conjunto de modelos da respetiva função.
Determine as autorizações que quer que o utilizador tenha. A seguinte lista mostra todas as autorizações disponíveis para a incorporação assinada. As autorizações que não constam da seguinte lista não são suportadas para a incorporação assinada:
Autorização | Depende de | Tipo | Definição |
---|---|---|---|
access_data |
Nenhum | Específico do modelo | Permite que o utilizador aceda aos dados (necessário para ver Looks, painéis de controlo ou Explores) |
see_lookml_dashboards |
access_data |
Específico do modelo | Permite que o utilizador veja painéis de controlo do LookML |
see_looks |
access_data |
Específico do modelo | Permite que o utilizador veja Looks |
see_user_dashboards |
see_looks |
Específico do modelo | Permite ao utilizador ver painéis de controlo definidos pelo utilizador e procurar pastas a partir de uma incorporação |
explore |
see_looks |
Específico do modelo | Permite que o utilizador veja as páginas Explorar |
create_table_calculations |
explore |
Ao nível da instância | Necessário para criar cálculos da tabela numa análise detalhada |
create_custom_fields |
explore |
Ao nível da instância | Necessário para criar campos personalizados numa exploração |
can_create_forecast |
explore |
Ao nível da instância | Permite que os utilizadores criem ou editem previsões em visualizações. |
save_content |
see_looks |
Ao nível da instância | Permite que o utilizador faça e guarde alterações em visuais e painéis de controlo |
send_outgoing_webhook |
see_looks |
Específico do modelo | Permite que o utilizador agende envios de conteúdo do Looker para um webhook arbitrário |
send_to_s3 |
see_looks |
Específico do modelo | Permite que o utilizador agende envios de conteúdo do Looker para um contentor do Amazon S3 |
send_to_sftp |
see_looks |
Específico do modelo | Permite que o utilizador agende envios de conteúdo do Looker para um servidor SFTP |
schedule_look_emails |
see_looks |
Específico do modelo | Permite que o utilizador agende o envio de conteúdo do Looker para o seu próprio email (se definido com um atributo de utilizador denominado "email") ou para um endereço de email que esteja dentro das limitações definidas pela lista de autorizações de domínios de email. Permite que o utilizador com autorizações create_alerts envie notificações de alerta para um endereço de email que esteja dentro das limitações definidas pela lista de autorizações de domínios de email. |
schedule_external_look_emails |
schedule_look_emails |
Específico do modelo | Permite que o utilizador agende envios de conteúdo do Looker para qualquer domínio de email. Permite que o utilizador com autorizações de create_alerts envie notificações de alerta para qualquer domínio de email. |
send_to_integration |
see_looks |
Específico do modelo | Permite que o utilizador envie conteúdo do Looker para os serviços de terceiros integrados com o Looker através do Action Hub do Looker. Esta autorização não está relacionada com as ações de dados. |
create_alerts |
see_looks |
Ao nível da instância | Permite ao utilizador criar alertas em mosaicos do painel de controlo para receber notificações quando as condições especificadas forem cumpridas ou excedidas. Os utilizadores podem editar, duplicar e eliminar os seus próprios alertas e os alertas públicos de outros utilizadores. Se o espaço de trabalho do Slack do utilizador não estiver associado à instância do Looker, o utilizador não pode criar alertas que enviem notificações para o Slack. |
download_with_limit |
see_looks |
Ao nível da instância | Permite que o utilizador transfira os resultados de uma consulta com um limite aplicado |
download_without_limit |
see_looks |
Ao nível da instância | Permite ao utilizador transferir os resultados de uma consulta sem limite aplicado |
see_sql |
see_looks |
Específico do modelo | Permite ao utilizador ver o SQL das consultas e quaisquer erros de SQL resultantes da execução de consultas |
clear_cache_refresh |
access_data |
Específico do modelo | Os utilizadores podem limpar a cache e atualizar painéis de controlo incorporados, painéis de controlo antigos, mosaicos de painéis de controlo, Looks e Explores. |
see_drill_overlay |
access_data |
Específico do modelo | Permite ao utilizador analisar detalhadamente os dados sem ter de aceder à página Explorar completa. |
manage_spaces |
Nenhum | Ao nível da instância | Ativa o navegador de conteúdo para que os utilizadores possam criar, copiar, mover e eliminar pastas. Os utilizadores também precisam da autorização de acesso ao conteúdo Gerir acesso, editar para a pasta ou, no caso de criar uma nova pasta, para a pasta principal. |
embed_browse_spaces |
Nenhum | Ao nível da instância | Ativa o navegador de conteúdo para que um utilizador possa procurar pastas a partir de uma incorporação. Qualquer utilizador de incorporação ao qual seja concedida a autorização embed_browse_spaces tem acesso a uma pasta de incorporação pessoal e à pasta Partilhada da sua organização, se existir. A autorização embed_browse_spaces é recomendada para utilizadores com a autorização save_content , para que possam procurar pastas quando selecionam onde guardar conteúdo. Para ver o conteúdo nas pastas, o utilizador também precisa das autorizações see_looks , see_user_dashboards e see_lookml_dashboards . |
embed_save_shared_space |
Nenhum | Ao nível da instância | Permite que o utilizador que também tem a autorização save_content navegue para a pasta Partilhada da organização, se existir, a partir da caixa de diálogo Guardar. Os utilizadores que têm a autorização save_content , mas não a autorização embed_save_shared_space , só têm a opção de guardar conteúdo na respetiva pasta de incorporação pessoal.A autorização embed_save_shared_space não substitui as autorizações de acesso ao conteúdo. Por exemplo, para permitir que um utilizador possa guardar na pasta Partilhada, continua a precisar de acesso de Gerir acesso, Editar à pasta Partilhada. Além disso, a falta da autorização embed_save_shared_space não impede que um utilizador com a autorização save_content e acesso de gestão de acesso e edição à pasta Partilhada guarde conteúdo na mesma se tiver uma forma alternativa de navegar para a pasta Partilhada, como usar a opção Explorar a partir daqui num painel de controlo incorporado. |
Acesso ao modelo
Determine a que modelos LookML o utilizador deve ter acesso. Esta será simplesmente uma lista de nomes de modelos.
Atributos do utilizador
Determine que atributos do utilizador o utilizador deve ter, se aplicável. Precisa do nome do atributo do utilizador do Looker, bem como do valor que o utilizador deve ter para esse atributo.
Grupos
Determine a que grupos o utilizador deve pertencer, se aplicável. Precisa dos IDs dos grupos e não dos nomes dos grupos. Adicionar um utilizador de incorporação assinado a um grupo do Looker permite-lhe gerir o acesso desse utilizador às pastas do Looker. Os utilizadores de incorporação com sessão iniciada têm acesso a todas as pastas partilhadas com membros dos respetivos grupos do Looker.
Também pode usar o parâmetroexternal_group_id
para criar um grupo externo aos grupos normais do Looker. Nesse caso, os utilizadores incorporados com sessão iniciada com o mesmo external_group_id
têm acesso a uma pasta partilhada, denominada "Grupo", que é exclusiva do grupo externo.
Funções incorporadas
Os parâmetros permissions
e models
criam uma função para o utilizador incorporado. Esta função é apresentada como uma "Função incorporada" na página Utilizadores na secção Administração do Looker. Se os parâmetros permissions
, models
e group_ids
forem todos especificados no URL de incorporação, a função incorporada é aditiva a quaisquer funções já atribuídas aos grupos indicados no parâmetro group_ids
. Isto é igual às funções padrão, uma vez que todas as funções no Looker são cumulativas.
Por exemplo, suponhamos que tem um grupo existente no Looker com o ID do grupo 1
e que esse grupo já tem a autorização explore
para um modelo denominado model_one
. Se criar um URL incorporado com os seguintes parâmetros:
group_ids
=["1"]
permissions
=["access_data","see_looks"]
models
=["model_two"]
Nesse caso, o utilizador incorporado herda a capacidade de ver e explorar os dados no model_one
, e a função de incorporação criada com os parâmetros anteriores também concede a capacidade de ver os dados no model_two
.
Criar o URL de incorporação
Um URL de incorporação assinado tem o seguinte formato:
https://HOST/login/embed/EMBED URL?PARAMETERS&signature=SIGNATURE
Anfitrião
O anfitrião é a localização onde a sua instância do Looker está a ser alojada. Por exemplo, analytics.mycompany.com
. Certifique-se de que inclui o número da porta se não tiver ativado o encaminhamento de portas, como analytics.mycompany.com:9999
.
Incorporar URL
O URL de incorporação foi determinado anteriormente. Tem um formato como:
/embed/looks/4
/embed/explore/my_model/my_explore
/embed/query-visualization/Query.client_id
/embed/dashboards/1
ou/embed/dashboards-legacy/1
/embed/dashboards/my_model::my_dashboard
ou/embed/dashboards-legacy/my_model::my_dashboard
Isto significa que o padrão /embed//embed/
é apresentado no URL final, o que está correto.
Se estiver a usar eventos JavaScript incorporados, certifique-se de que adiciona um embed_domain
(o domínio onde o iFrame está a ser usado) no final do URL de incorporação, da seguinte forma:
/embed/looks/4
/embed/looks/4?embed_domain=https://mywebsite.com
embed_domain
é adicionado após o URL de incorporação e antes de quaisquer parâmetros. Assim, se tiver parâmetros existentes, como nonce=626
, a adição do parâmetro embed_domain
seria semelhante ao seguinte:
/embed/looks/4?nonce=626
/embed/looks/4?embed_domain=https://mywebsite.com?nonce=626
Se estiver a usar o SDK de incorporação, certifique-se de que adiciona embed_domain
e também inclui sdk=2
no final do URL de incorporação, da seguinte forma:
/embed/looks/4
/embed/looks/4?embed_domain=https://mywebsite.com&sdk=2
O parâmetro sdk=2
permite que o Looker identifique que o SDK está presente e pode tirar partido das funcionalidades adicionais fornecidas pelo SDK. O SDK não pode adicionar este parâmetro por si só porque faz parte do URL assinado.
Parâmetros
Os seguintes parâmetros de URL são usados para especificar as informações necessárias para a incorporação assinada:
Parâmetro | Valor predefinido | Descrição | Tipo de dados | Exemplo |
---|---|---|---|---|
nonce |
Valor obrigatório | Qualquer string aleatória que quiser, mas não pode ser repetida no prazo de uma hora e tem de ter menos de 255 carateres.Isto impede que um atacante reenvie o URL de um utilizador legítimo para recolher informações que não deveria ter. | String JSON | "22b1ee700ef3dc2f500fb7" |
time |
Valor obrigatório | A hora atual como uma data/hora Unix. | Número inteiro | 1407876784 |
session_length |
Valor obrigatório | O número de segundos que o utilizador deve permanecer com sessão iniciada no Looker, entre 0 e 2 592 000 segundos (30 dias). | Número inteiro | 86400 |
external_user_id |
Valor obrigatório | Um identificador para cada utilizador na aplicação que está a incorporar o Looker. O Looker usa external_user_id para diferenciar os utilizadores de incorporação com sessão iniciada, pelo que cada utilizador tem de ter um ID exclusivo atribuído.Pode criar um external_user_id para um utilizador com qualquer string que quiser, desde que seja exclusivo desse utilizador. Cada ID está associado a um conjunto de autorizações, atributos do utilizador e modelos. Um único navegador só pode suportar um external_user_id ou uma sessão do utilizador de cada vez. Não é possível fazer alterações às autorizações nem aos atributos do utilizador durante uma sessão.Por motivos de segurança, certifique-se de que não está a usar o mesmo external_user_id em diferentes sessões de incorporação para diferentes utilizadores interativos e de que não está a usar o mesmo external_user_id para um único utilizador que tenha diferentes autorizações, valores de atributos do utilizador ou acesso ao modelo.A utilização do mesmo external_user_id para vários utilizadores ou para o mesmo utilizador com várias autorizações, atributos do utilizador ou conjuntos de modelos pode fazer com que os dados fiquem visíveis para utilizadores que, de outra forma, não teriam acesso aos mesmos. |
Cadeia JSON | "user-4" |
permissions |
Valor obrigatório | A lista de autorizações que o utilizador deve ter.Consulte a secção Autorizações nesta página para ver a lista de autorizações permitidas. | Matriz de strings | [ "access_data", "see_looks" ] |
models |
Valor obrigatório | A lista de nomes de modelos aos quais o utilizador deve ter acesso. | Matriz de strings | [ "model_one", "model_two" ] |
group_ids |
[] | A lista de grupos do Looker dos quais o utilizador deve ser membro, se aplicável. Use IDs de grupos em vez de nomes de grupos. | Matriz de strings | ["4", "3"] |
external_group_id |
"" | Um identificador exclusivo do grupo ao qual o utilizador pertence na aplicação que está a incorporar o Looker.Os utilizadores que têm autorização para guardar conteúdo e que partilham um ID de grupo externo podem guardar e editar conteúdo numa pasta do Looker partilhada denominada "Grupo". O parâmetro external_group_id é o único método disponível para criar grupos externos de utilizadores incorporados. Não existe forma de configurar grupos de utilizadores de incorporação externos a partir da IU do Looker.O comprimento de external_group_id não deve exceder 81 carateres. É criada uma pasta correspondente para o grupo, e os nomes das pastas têm um limite de 100 carateres. O nome da pasta tem o prefixo "Embed Shared Group ", pelo que o external_group_id está restrito a 81 carateres para se manter dentro do limite de 100 ou menos carateres. |
Cadeia JSON | "Accounting" |
user_attributes |
{} | A lista de atributos do utilizador que o utilizador deve ter, se aplicável. Contém uma lista de nomes de atributos do utilizador seguida do valor do atributo do utilizador.Se o seu modelo LookML estiver localizado, pode usar o locale atributo do utilizador no URL incorporado para especificar um idioma para a incorporação. Por exemplo, a inclusão do parâmetro user_attributes { "locale" : "fr_FR" } faria com que a incorporação carregasse o francês como idioma. |
Hash de strings | { "vendor_id" : "17", "company" : "xactness" } |
access_filters |
Valor obrigatório | No Looker 3.10, este parâmetro foi removido, mas continua a ser obrigatório no URL. Use access_filters com um marcador de posição vazio, por exemplo, access_filters={} . |
Marcador de posição vazio | {} |
first_name |
"" | O nome próprio do utilizador. Se for deixado em branco, first_name retém o valor do último pedido ou é "Incorporar" se nunca tiver sido definido um primeiro nome. |
Cadeia JSON | "Alice" |
last_name |
"" | O apelido do utilizador. Se for deixado em branco, last_name retém o valor do último pedido ou é "Incorporar" se nunca tiver sido definido um apelido. |
Cadeia JSON | "Jones" |
user_timezone |
"" | Se ativou os fusos horários específicos do utilizador, define o valor da opção Fuso horário do visitante no menu pendente Fuso horário no Look ou painel de controlo incorporado. Este parâmetro não altera diretamente o fuso horário em que o conteúdo é apresentado. O utilizador tem de selecionar um fuso horário no menu pendente.Consulte os valores válidos na página de documentação Referência de fuso horário de incorporação assinado.Sugestão da equipa do chat: se quiser que o conteúdo incorporado seja apresentado por predefinição no fuso horário do visitante, use um dos seguintes métodos:?query_timezone=user_timezone ao URL de incorporação. Por exemplo:/embed/dashboards/1?query_timezone=user_timezone |
String JSON ou valor nulo | "US/Pacific" - ou -null |
force_logout_login |
Valor obrigatório | Se um utilizador normal do Looker já tiver sessão iniciada no Looker e vir um item incorporado assinado, pode escolher se:1) Deve ver o item com as credenciais atuaisou2) Deve terminar sessão e iniciá-la novamente com as credenciais de incorporação assinadas. | Booleano (verdadeiro ou falso) | true |
Assinatura
O Looker usa a assinatura para verificar se o segredo de incorporação correto foi usado para gerar a assinatura no URL de incorporação e se os parâmetros no URL de incorporação não foram alterados. Se o segredo de incorporação ou os parâmetros do URL forem diferentes ou tiverem sido alterados, a assinatura não vai corresponder e a autenticação é rejeitada.
Como resultado, a assinatura no URL de incorporação fornece uma prova criptograficamente forte de que o URL de incorporação não foi modificado em trânsito e de que o URL de incorporação foi criado por uma entidade fidedigna que tem a chave secreta de incorporação.
Para gerar a assinatura, tem de seguir estes passos.
- Recolha os seguintes valores de parâmetros por esta ordem:
- Anfitrião, seguido de
login/embed/
(por exemplo,analytics.mycompany.com/login/embed/
) - Incorporar URL
- Nonce
- Hora atual
- Duração da sessão
- ID do utilizador externo
- Autorizações
- Modelos
- IDs de grupos
- ID do grupo externo
- Atributos do utilizador
- Aceda aos filtros (requer um marcador de posição vazio)
- Anfitrião, seguido de
- Formate todos os valores que não sejam o anfitrião e o URL de incorporação como JSON
- Concatenar os valores com quebras de linha (
\n
) - Assine a string concatenada com a sua chave secreta de incorporação do Looker com HMAC-SHA1
Codificação
O passo final é codificar o URL.
Antes de codificar o URL, um URL incorporado devidamente formatado que use todos os parâmetros possíveis pode ter o seguinte aspeto:
https://analytics.mycompany.com/login/embed//embed/dashboards/1?
nonce="22b1ee700ef3dc2f500fb7"&
time=1407876784&
session_length=86400&
external_user_id="user-4"&
permissions=["access_data","see_user_dashboards","see_looks"]&
models=["model_one","model_two"]&
group_ids=[4,3]&
external_group_id="Allegra K"&
user_attributes={"vendor_id":"17","company":"xactness"}&
access_filters={}&
first_name="Alice"&
last_name="Jones"&
user_timezone="US/Pacific"&
force_logout_login=true&
signature=123456789ABCDEFGHIJKL
Conforme indicado anteriormente, é correto que /embed//embed/
apareça no seu URL.
Depois de codificar o URL, este tem o seguinte aspeto:
https://analytics.mycompany.com/login/embed/%2embed%2Fdashboards%2F1?
nonce=%2222b1ee700ef3dc2f500fb7&%22&
time=1407876784&
session_length=86400&
external_user_id=%22user-4%22&
permissions=%5B%22access_data%22%2C%22see_user_dashboards%22%2C%22see_looks%22%5D&
models=%5B%22model_one%22%2C%22model_two%22%5D&
group_ids=%5B4%2C3%5D&
external_group_id=%22Allegra%20K%22&
user_attributes=%7B%22vendor_id%22%3A%2217%22%2C%22company%22%3A%22xactness%22%7D&
access_filters%7B%7D%26%0A
first_name=%22Alice%22&
last_name=%22Jones%22&
user_timezone=%22US%2FPacific%22&
force_logout_login=true&
signature=123456789ABCDEFGHIJKL
Usar o ponto final da API Create Signed Embed Url
A API Looker inclui o ponto final Create Signed Embed Url, que recebe um conjunto de parâmetros de incorporação assinados que inclui o URL do conteúdo que quer incorporar e devolve um URL completo, codificado e assinado criptograficamente.
Para usar este ponto final da API a partir de um servidor Web, o servidor Web tem de conseguir autenticar-se na API Looker com privilégios de administrador. O domínio do servidor Web também tem de estar listado na lista de autorizações de domínios de incorporação.
Também pode usar o Explorador de APIs para gerar um URL assinado que use este ponto final. Pode instalar o Explorador de APIs na sua instância do Looker a partir do Looker Marketplace. Depois de gerado, o URL assinado tem de ser copiado exatamente e só pode ser usado uma vez. Caso contrário, falha. O Explorador de APIs também é útil para gerar um URL assinado e compará-lo com um URL assinado criado manualmente para fins de resolução de problemas.
Para mais informações sobre a API Looker, consulte a página de documentação Introdução à API Looker.
Testar o URL de incorporação
Para testar o URL final, cole-o no validador de URI incorporado na página Incorporar da secção Administração do Looker. Embora esta opção não lhe diga se os dados e as autorizações que prevê foram configurados corretamente, pode validar se a sua autenticação está a funcionar corretamente.