Può essere difficile risolvere i problemi di autenticazione quando utilizzi l'embed firmato per i tuoi contenuti di Looker. Esistono diversi approcci che puoi adottare per provare a diagnosticare i problemi e sceglierai un approccio in base a dove i reindirizzamenti indirizzano gli utenti. I suggerimenti in questa pagina presuppongono che generi l'URL incorporato firmato utilizzando uno script simile a quello nell'incorporamento di esempi di repository GitHub di Looker, se non diversamente indicato.
Operazioni generali da provare per prime
Prima di iniziare l'incorporamento, assicurati che il secret di incorporamento sia stato generato nel riquadro Amministrazione e che i contenuti incorporati funzionino nella modalità Produzione, non solo in modalità Sviluppo.
Se disponi delle autorizzazioni di amministratore, sudo è l'utente incorporato per verificare che i tuoi contenuti siano funzionanti. Se ricevi l'errore Oops, we can't find that page
, è molto probabile che il problema riguardi le autorizzazioni o l'accesso ai contenuti e non sia correlato a un problema di autenticazione. Se l'utente di incorporamento non viene visualizzato nella pagina Utenti del riquadro Amministrazione di Looker, significa che 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 è ospitata autonomamente, assicurati che il server client possa raggiungere il server Looker e, se i dati tra il client e il server vengono trasmessi su una rete internet pubblica, verifica che venga utilizzato il protocollo SSL (HTTPS).
Il resto di questa pagina descrive gli errori e altri problemi che potresti riscontrare, oltre alla procedura per risolverli.
Viene visualizzato un messaggio di errore o viene aperta una pagina di accesso
Se viene visualizzato un reindirizzamento alla pagina di accesso o a una pagina con l'errore Single sign on failure. Please contact an adinistrator.
, in genere significa che l'autenticazione di incorporamento firmata non funziona correttamente.
Innanzitutto, genera un nuovo URL di incorporamento firmato e testalo nello Strumento di convalida dell'URI dell'incorporamento nella pagina Incorpora del riquadro Amministrazione di Looker. A volte lo strumento di convalida dell'URI di incorporamento può rivelare informazioni preziose sul motivo per cui si verifica un errore.
Lo strumento di convalida dell'URI incorporato appare come previsto?
Se ti trovi nella pagina Incorpora del riquadro Amministrazione di Looker e lo strumento di convalida dell'URI di incorporamento non viene visualizzato, significa che l'incorporamento firmato non è stato ancora abilitato. Dovrai attivare l'incorporamento con firma.
Ricevo l'errore 'signature param' failed to authenticate
Se viene visualizzato questo errore, la firma generata dallo script non funziona come previsto. Per le possibili soluzioni, consulta le sezioni seguenti:
I secret di incorporamento corrispondono?
Il secret di incorporamento nell'istanza Looker deve essere identico al secret di incorporamento firmato nello script di generazione dell'URL di incorporamento firmato. Se non hai la certezza che sia vero, seleziona Reset Secret (Reimposta secret) per generare un nuovo secret e aggiungerlo allo script. La reimpostazione della chiave comporterà l'interruzione di tutti gli incorporamenti che utilizzavano la chiave precedente.
Prova a utilizzare l'endpointCreate Signed Embed Url
per creare l'URL di incorporamento, specificando il segreto nello script persecret_id
nel corpo della chiamata. La risposta ti informerà se il secret che stai utilizzando non è valido.
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 relativa all'incorporamento firmato.
La stringa della firma, quando stampata, dovrebbe avere questo aspetto 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 a quelli 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 siano presenti 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.
Ricevo l'errore This request includes invalid params: ["embed_domain"]
Prima di iniziare a risolvere il problema, tieni presente che il parametro embed_domain
è necessario solo se lo script utilizza ascoltatori di eventi JavaScript, che in genere non è un requisito per un'implementazione di incorporamento firmato di base. 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
. In genere, l'errore indica che il parametro embed_domain
è stato inserito per errore 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 sia effettivamente parte di embed_url
, e deve essere aggiunto dopo l'URL di incorporamento e prima di eventuali parametri.
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_domain
deve essere posizionato alla fine ditarget_url
.
Ricevo l'errore 'nonce' param already used this hour
Il valore del parametro nonce
non deve essere ripetuto nella stessa ora e deve contenere meno di 255 caratteri. Pertanto, visualizzerai questo errore 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 un errore Uh-Oh, Something went wrong
Se visualizzi questo errore, contatta l'assistenza Looker per diagnosticare il problema.
Vengo reindirizzato a una pagina con il messaggio di errore 401 You are not authenticated to view this page.
Se hai provato tutti i passaggi per la 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 applica norme relative ai cookie che bloccano questi cookie. Ad esempio, l'impostazione Impedisci monitoraggio tra siti di Safari è attiva 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 i contenuti di Looker e il nome di dominio della tua istanza di Looker termina con company.looker.com
, il browser non autentica l'iframe incorporato tra i domini, a meno che le impostazioni della privacy dei cookie del browser non vengano modificate.
Istanze ospitate da Looker
Gli amministratori di Looker ospitato che non vogliono che i propri utenti abilitino 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 assumono il formato https://<hostname>.<subdomain>.<domain>.com
. Se il nome di dominio di Looker viene modificato, Looker non sarà più considerato un dominio di terze parti. Consulta Cosa succede se l'URL cambia per la mia istanza di Looker? pagina Best practice per ulteriori informazioni.
Se vuoi aggiungere un dominio personalizzato per la tua istanza di Looker, contatta l'assistenza di Looker per configurare la configurazione DNS necessaria.
Istanze self-hosted
Se l'istanza di Looker è ospitata autonomamente, assicurati che l'applicazione che utilizza l'incorporamento firmato si trovi nello stesso dominio di base dell'istanza di Looker modificando le voci DNS per l'istanza di Looker.
Chrome richiede inoltre che qualsiasi cookie di sessione con il flag samesite=none
debba specificare anche secure
. Looker non segnalerà secure
se la tua istanza di Looker non dispone di un --ssl-provided-externally-by=<s>
flag di avvio, quindi assicurati che questo flag di avvio sia configurato.
Il problema persiste. Che cosa devo fare?
Se i problemi persistono dopo aver provato i suggerimenti in questa pagina, contatta il tuo contatto Looker o visita l'assistenza Looker per aprire un ticket.