Risoluzione dei problemi relativi agli errori di autenticazione con incorporamento firmato

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 tu stia generando l'URL di incorporamento firmato utilizzando uno script simile a quelli nel repository GitHub di esempi di incorporamento di Looker, se non diversamente specificato.

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 visualizzi 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 incorporato non viene visualizzato nella pagina Utenti del riquadro Amministratore di Looker, significa che l'utente non è stato creato e che 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 vieni reindirizzato alla pagina di accesso o a una pagina con l'errore Single sign on failure. Please contact an adinistrator., generalmente questo indica che l'autenticazione incorporata basata su firma 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 incorporato può rivelare informazioni preziose sul motivo per cui si verifica un errore.

Lo strumento di convalida dell'URI incorporato appare come previsto?

Se sei nella pagina Incorpora del riquadro Amministrazione di Looker e lo strumento di convalida dell'URI incorporato non viene visualizzato, significa che l'incorporamento firmato non è ancora stato attivato. 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 incorporati 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. Il ripristino della chiave comporterà l'interruzione di tutti gli incorporamenti che utilizzavano la chiave precedente.

Prova a utilizzare l'endpoint Create Signed Embed Url per creare l'URL incorporato, specificando il secret nello script per il valore secret_id nel corpo della chiamata. La risposta ti comunicherà 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 viene 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 lo script 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 questo errore, tieni presente che il parametro embed_domain è necessario solo se lo script utilizza listener di eventi JavaScript, che in genere non sono un requisito per un'implementazione di incorporamento firmata di base. Se la tua applicazione non ha bisogno di ascoltare gli eventi JavaScript, l'opzione più semplice è eliminare completamente il parametro embed_domain.

Se devi utilizzare eventi JavaScript nell'applicazione di incorporamento, controlla lo script di generazione dell'URL per vedere dove viene aggiunto il parametro embed_domain. Generalmente, questo 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 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'endpoint Create Signed Embed Url, il parametro embed_domain deve essere posizionato alla fine di target_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 URL incorporato nuovo che non è ancora stato caricato nel tuo browser e che il nonce venga modificato e non sia riutilizzato.

Vengo reindirizzato a 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 utilizzerà per impostazione predefinita delle norme relative ai cookie che bloccano 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 nella 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 autentica l'iframe incorporato in più domini, a meno che non vengano modificate le impostazioni di privacy dei cookie del browser.

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 la sezione Cosa succede se l'URL della mia istanza di Looker cambia? pagina Best practice per ulteriori informazioni.

Se vuoi aggiungere un dominio personalizzato per la tua istanza Looker, contatta l'assistenza Looker per impostare la configurazione DNS necessaria.

Istanze ospitate autonomamente

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 continui a riscontrare problemi dopo aver provato i suggerimenti in questa pagina, rivolgiti al tuo contatto Looker o visita l'assistenza Looker per aprire un ticket.