La risoluzione dei problemi di autenticazione quando utilizzi l'incorporamento firmato per i contenuti di Looker può essere difficile. Esistono diversi approcci che puoi adottare per provare a diagnosticare i problemi e ne sceglierai uno in base alla destinazione dei reindirizzamenti degli utenti. I suggerimenti in questa pagina presuppongono che tu stia generando l'URL di incorporamento firmato utilizzando uno script simile a quelli nel repository GitHub di esempi di incorporamento di Looker Embed examples GitHub repository, salvo diversa indicazione.
Cosa provare prima
Prima di iniziare l'incorporamento, assicurati che il tuo segreto di incorporamento sia stato generato nel riquadro Amministrazione e che i contenuti incorporati siano funzionali in modalità di produzione, non solo in modalità di sviluppo.
Se disponi delle autorizzazioni di amministratore, sudo come utente di incorporamento per verificare che i contenuti siano funzionali. Se viene visualizzato l'errore Oops, we can't find that page, il problema è molto probabilmente dovuto alle autorizzazioni o all'accesso ai contenuti e non è correlato a un problema di autenticazione. Se l'utente di incorporamento non viene visualizzato nella pagina Utenti del riquadro Amministrazione di Looker, significa che l'utente non è stato creato e l'URL di incorporamento non funziona. Puoi provare a risolvere il problema utilizzando alcuni dei suggerimenti e delle risorse elencati in questa pagina.
Se la tua istanza è self-hosted, assicurati che il server client possa raggiungere il server Looker e, se i dati tra il client e il server vengono trasmessi tramite internet pubblico, assicurati che venga utilizzato SSL (HTTPS).
Il resto di questa pagina descrive gli errori e altri problemi che potresti riscontrare, nonché i passaggi per risolverli.
Viene visualizzata una pagina di accesso o una pagina "Errore di Single Sign-On"
Se viene visualizzata la pagina di accesso o una pagina con l'errore Single sign on failure. Please contact an adinistrator., in genere significa che l'autenticazione dell'incorporamento firmato non funziona correttamente.
Innanzitutto, genera un nuovo URL di incorporamento firmato e testalo nello strumento di convalida URI di incorporamento nella pagina Incorpora del pannello di amministrazione Amministrazione di Looker. Lo strumento di convalida URI di incorporamento a volte può rivelare informazioni preziose sul motivo per cui si verifica un errore.
Il validatore URI di incorporamento viene visualizzato come previsto?
Se ti trovi nella pagina Incorpora del pannello Amministrazione di Looker e lo strumento di convalida URI di incorporamento non viene visualizzato nella pagina, significa che l'incorporamento firmato non è ancora stato attivato. Dovrai attivare l'incorporamento firmato.
Viene visualizzato l'errore 'signature param' failed to authenticate
Se viene visualizzato questo errore, significa che la firma generata dallo script non funziona come previsto. Consulta le seguenti sezioni per possibili soluzioni:
I segreti di incorporamento corrispondono?
Il segreto di incorporamento nell'istanza di Looker deve essere identico al segreto di incorporamento firmato nello script di generazione dell'URL di incorporamento firmato. Se non sei sicuro che sia così, seleziona Reimposta segreto per generare un nuovo segreto e aggiungerlo allo script. La reimpostazione della chiave interromperà tutti gli incorporamenti che utilizzavano la chiave precedente.
Tieni presente che i segreti creati utilizzando la pagina Incorpora nel riquadro Amministrazione vengono generati utilizzando l'algoritmo HMAC-SHA1. Per impostazione predefinita, i segreti creati utilizzando l'endpoint API create_embed_secret utilizzano l'algoritmo HMAC-SHA256. Assicurati che lo script di incorporamento utilizzi l'algoritmo corretto.
Prova a utilizzare l'endpointCreate Signed Embed Urlper creare l'URL di incorporamento, specificando il segreto nello script persecret_idnel corpo della chiamata. La risposta ti indicherà se il segreto che stai utilizzando non è valido. L'utilizzo di questo endpoint evita anche problemi con gli script che utilizzano un algoritmo di firma errato.
La stringa della firma è nell'ordine corretto?
I parametri di incorporamento nella stringa della firma devono essere nell'ordine corretto nello script di generazione dell'URL. L'ordine corretto è documentato nella pagina della documentazione sull'incorporamento firmato.
La stringa della firma, una volta stampata, dovrebbe avere un aspetto simile a questo prima della codifica:
company_name.looker.com
/login/embed/embed%2Fdashboards%2F123
"ac786cbc06162b1edde3a8b35920a93e"
15852443573600
"test_external_user_id"
["access_data","see_user_dashboards"]
["test_model"]
[]
"test group space"
{"test_user_attribute":"yes"}
{}
Dopo aver firmato la stringa della firma con il segreto di incorporamento, assicurati che i parametri nell'URL finale corrispondano ai parametri specificati nella stringa della firma. Assicurati che i caratteri speciali come + e / siano codificati nei parametri URL (ad esempio, + potrebbe essere interpretato come uno spazio se non è codificato correttamente) e che non ci siano interruzioni di riga nell'URL di incorporamento firmato, che potrebbero non essere rilevate dopo la codifica.
Confronta il tuo script con i nostri esempi di script per verificare se esegue tutti i passaggi corretti e se la firma utilizza la crittografia corretta.
Stai utilizzando un'istanza abilitata per FIPS?
Se la tua istanza di Looker è abilitata per FIPS, potrebbe rifiutare le firme non generate utilizzando un algoritmo conforme a FIPS. Per ulteriori informazioni sulle istanze di Looker abilitate per FIPS, consulta le seguenti pagine della documentazione:
- Attivare la conformità al livello 1 di FIPS 140-2
- Attivare la conformità al livello 1 di FIPS 140-2 su un'istanza di Looker (Google Cloud core)
Per evitare problemi con la generazione della firma sulle istanze abilitate per FIPS, puoi utilizzare l'endpoint API Create Signed Embed Url per generare l'URL di incorporamento.
Viene visualizzato l'errore This request includes invalid params: ["embed_domain"]
Prima di iniziare a risolvere questo errore, tieni presente che il parametro embed_domain è necessario solo se lo script utilizza listener di eventi JavaScript, che in genere non è un requisito per un'implementazione di base dell'incorporamento firmato. Se la tua applicazione non deve ascoltare gli eventi JavaScript, l'opzione più semplice è eliminare completamente il parametro embed_domain.
Se devi utilizzare gli eventi JavaScript nella tua applicazione di incorporamento, controlla lo script di generazione dell'URL per vedere dove viene aggiunto il parametro embed_domain. L'errore di solito significa che il parametro embed_domain è stato inserito accidentalmente come parametro di incorporamento firmato anziché direttamente all'interno di embed_url. Lo script non formatta correttamente il parametro embed_domain a meno che non faccia effettivamente parte di embed_url e deve essere aggiunto dopo l'URL di incorporamento e prima di qualsiasi parametro.
Ecco come dovrebbe apparire quando il parametro embed_domain è specificato correttamente nello script:
embed_url: "/embed/dashboards/3?embed_domain=https://company.com"
Se utilizzi l'endpointCreate Signed Embed Url, il parametroembed_domaindeve essere inserito alla fine ditarget_url.
Viene visualizzato l'errore 'nonce' param already used this hour
Il valore del nonce parametro non deve essere ripetuto nella stessa ora e deve essere inferiore a 255 caratteri. Pertanto, questo errore viene visualizzato se stai testando un URL a cui è già stato eseguito l'accesso. Assicurati di generare un nuovo URL di incorporamento che non sia ancora stato caricato nel browser e che il nonce stia cambiando e non venga riutilizzato.
Viene visualizzato l'errore Uh-Oh, Something went wrong
Se visualizzi questo errore, contatta l'assistenza Looker per aiutarti a diagnosticare il problema.
Viene visualizzata una pagina con il messaggio di errore 401 You are not authenticated to view this page.
Se hai provato tutti i passaggi di risoluzione dei problemi applicabili e il problema 401 persiste, è probabile che il browser stia bloccando i cookie di terze parti. La maggior parte dei browser sta diventando più restrittiva e per impostazione predefinita utilizza un criterio sui cookie che blocca questi cookie. Ad esempio, l'impostazione Impedisci il monitoraggio tra siti di Safari è attivata per impostazione predefinita, così come l'impostazione Blocca i cookie di terze parti in modalità di navigazione in incognito di Chrome.
Se la tua applicazione incorpora contenuti di Looker e il nome di dominio della tua istanza di Looker termina con company.looker.com, il browser non autenticherà l'iframe incorporato tra i domini a meno che non vengano modificate le impostazioni di privacy dei cookie del browser.
Istanze ospitate da Looker
Gli amministratori ospitati da Looker che non vogliono che i propri utenti attivino manualmente i cookie di terze parti nei browser dovranno modificare il nome di dominio dell'istanza ospitata da Looker. Ad esempio, le istanze ospitate da Looker in genere hanno il formato https://<hostname>.<subdomain>.<domain>.com. Se il nome di dominio di Looker viene modificato, Looker non verrà più considerato un dominio di terze parti. Per ulteriori informazioni, consulta la pagina delle best practice su come modificare l'URL di un'istanza di Looker.
Se ti interessa aggiungere un dominio personalizzato per la tua istanza di Looker, contatta l'assistenza Looker per configurare la configurazione DNS necessaria.
Istanze self-hosted
Se esegui il self-hosting della tua istanza di Looker, assicurati che l'applicazione che utilizza l'incorporamento firmato si trovi nello stesso dominio di base della tua istanza di Looker modificando le voci DNS per la tua istanza di Looker.
Chrome richiede anche che qualsiasi cookie di sessione con il flag samesite=none specifichi anche secure. Looker non segnalerà secure se la tua istanza di Looker non viene fornita con un --ssl-provided-externally-by=<s> flag di avvio, quindi assicurati che questo flag di avvio sia configurato.
Continuo ad avere problemi. Cosa devo fare?
Se continui a riscontrare problemi dopo aver provato i suggerimenti in questa pagina, contatta il tuo referente Looker o visita l'assistenza Looker per aprire un ticket.