Memecahkan masalah error autentikasi penyematan yang ditandatangani

Memecahkan masalah error autentikasi bisa jadi sulit jika Anda menggunakan sematan bertanda tangan untuk konten Looker. Ada beberapa pendekatan berbeda yang dapat Anda lakukan untuk mencoba dan mendiagnosis masalah, dan Anda akan memilih pendekatan berdasarkan tujuan pengalihan pengguna Anda. Tips di halaman ini mengasumsikan bahwa Anda membuat URL sematan bertanda tangan menggunakan skrip yang mirip dengan yang ada di repositori GitHub contoh Sematan Looker, kecuali dinyatakan lain.

Hal umum yang perlu dicoba terlebih dahulu

Sebelum mulai menyematkan, pastikan secret sematan Anda telah dibuat di panel Admin dan konten sematan Anda berfungsi dalam Mode Produksi, bukan hanya dalam Mode Pengembangan.

Jika Anda memiliki izin admin, gunakan sudo sebagai pengguna sematan untuk memeriksa apakah konten Anda berfungsi. Jika Anda mendapatkan error Oops, we can't find that page, kemungkinan besar masalahnya terkait izin atau akses konten dan tidak terkait dengan masalah autentikasi. Jika pengguna sematan tidak muncul di halaman Pengguna pada panel Admin Looker, berarti pengguna belum dibuat dan URL sematan gagal. Anda dapat mencoba memecahkan masalah menggunakan beberapa saran dan referensi yang tercantum di halaman ini.

Jika instance Anda dihosting sendiri, pastikan server klien dapat menjangkau server Looker, dan jika data antara klien dan server ditransmisikan melalui internet publik, pastikan SSL (HTTPS) digunakan.

Bagian selanjutnya dari halaman ini menjelaskan error dan masalah lain yang mungkin Anda alami beserta langkah-langkah untuk menyelesaikannya.

Saya dialihkan ke halaman login atau halaman "Kegagalan single sign-on"

Jika Anda dialihkan ke halaman login atau ke halaman dengan error Single sign on failure. Please contact an adinistrator., hal ini biasanya menunjukkan bahwa autentikasi sematan bertanda tangan tidak berfungsi dengan baik.

Pertama, buat URL sematan bertanda tangan baru dan uji di Validator URI Sematan di halaman Sematkan pada panel Admin Looker. Validator URI Sematan terkadang dapat mengungkapkan informasi berharga tentang alasan Anda mengalami error.

Apakah Validator URI Sematan muncul seperti yang diharapkan?

Jika Anda berada di halaman Sematkan panel Admin Looker dan Validator URI Sematan tidak muncul di halaman, hal ini menunjukkan bahwa penyematan bertanda tangan belum diaktifkan. Anda harus mengaktifkan penyematan bertanda tangan.

Saya menerima error 'signature param' failed to authenticate

Jika Anda melihat error ini, tanda tangan yang dibuat oleh skrip Anda tidak berfungsi seperti yang diharapkan. Lihat bagian berikut untuk mengetahui kemungkinan solusinya:

Apakah secret penyematan cocok?

Rahasia sematan di instance Looker Anda harus sama dengan rahasia sematan bertanda tangan di skrip pembuatan URL sematan bertanda tangan Anda. Jika Anda tidak yakin apakah hal ini benar, pilih Reset Rahasia untuk membuat rahasia baru dan menambahkannya ke skrip Anda. Mereset kunci akan merusak semua sematan yang menggunakan kunci sebelumnya.

Coba gunakan endpoint Create Signed Embed Url untuk membuat URL sematan, dengan menentukan rahasia dalam skrip untuk secret_id di isi panggilan. Respons akan memberi tahu Anda jika rahasia yang Anda gunakan tidak valid.

Apakah string tanda tangan dalam urutan yang benar?

Parameter sematan dalam string tanda tangan harus berada dalam urutan yang benar dalam skrip pembuatan URL. Urutan yang tepat didokumentasikan di halaman dokumentasi Penyematan bertanda tangan.

String tanda tangan, saat dicetak, akan terlihat seperti ini sebelum dienkode:

  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"}
  {}

Setelah menandatangani string tanda tangan dengan secret sematan, pastikan parameter di URL final cocok dengan parameter yang ditentukan dalam string tanda tangan. Pastikan karakter khusus seperti + dan / dienkode dalam parameter URL (misalnya, + dapat ditafsirkan sebagai spasi jika tidak dienkode dengan benar) dan tidak ada jeda baris dalam URL sematan bertanda tangan, yang dapat terlewat setelah encoding.

Bandingkan skrip Anda dengan contoh skrip kami untuk memeriksa apakah skrip Anda melalui semua langkah yang tepat dan apakah tanda tangan menggunakan enkripsi yang tepat.

Saya menerima error This request includes invalid params: ["embed_domain"]

Sebelum Anda mulai memecahkan masalah error ini, perhatikan bahwa parameter embed_domain hanya diperlukan jika skrip Anda menggunakan pemroses peristiwa JavaScript, yang biasanya bukan persyaratan untuk penerapan sematan bertanda tangan dasar. Jika aplikasi Anda tidak perlu memproses peristiwa JavaScript, opsi paling sederhana adalah menghapus parameter embed_domain sepenuhnya.

Jika Anda perlu menggunakan peristiwa JavaScript di aplikasi sematan, periksa skrip pembuatan URL untuk melihat tempat parameter embed_domain ditambahkan. Error ini biasanya berarti parameter embed_domain secara tidak sengaja ditempatkan sebagai parameter sematan bertanda, bukan langsung dalam embed_url. Skrip tidak akan memformat parameter embed_domain dengan benar kecuali jika parameter tersebut benar-benar merupakan bagian dari embed_url, dan harus ditambahkan setelah URL sematan dan sebelum parameter apa pun.

Berikut adalah tampilannya jika parameter embed_domain ditentukan dengan benar dalam skrip Anda:

  embed_url: "/embed/dashboards/3?embed_domain=https://company.com"
Jika Anda menggunakan endpoint Create Signed Embed Url, parameter embed_domain harus ditempatkan di akhir target_url.

Saya menerima error 'nonce' param already used this hour

Nilai parameter nonce tidak boleh diulang dalam jam yang sama, dan harus kurang dari 255 karakter. Oleh karena itu, Anda akan melihat error ini jika menguji URL yang sudah diakses. Pastikan Anda membuat URL sematan baru yang belum dimuat di browser Anda dan nonce berubah serta tidak digunakan kembali.

Saya dialihkan ke error Uh-Oh, Something went wrong

Jika Anda melihat error ini, hubungi Dukungan Looker untuk membantu mendiagnosis masalah ini.

Saya dialihkan ke halaman dengan pesan error 401 You are not authenticated to view this page.

Jika Anda sudah mencoba semua langkah pemecahan masalah yang berlaku dan masalah 401 masih berlanjut, kemungkinan browser Anda memblokir cookie pihak ketiga. Sebagian besar browser menjadi lebih ketat dan akan menggunakan kebijakan cookie default yang memblokir cookie ini. Misalnya, setelan Cegah Pelacakan Lintas Situs di Safari diaktifkan secara default, seperti halnya setelan Blokir cookie pihak ketiga di mode Samaran di Chrome.

Jika aplikasi Anda menyematkan konten Looker dan nama domain instance Looker Anda diakhiri dengan company.looker.com, browser tidak akan mengautentikasi iframe yang disematkan di seluruh domain kecuali jika setelan privasi cookie browser diubah.

Instance yang dihosting Looker

Admin yang dihosting Looker yang tidak ingin pengguna mereka mengaktifkan cookie pihak ketiga secara manual di browser mereka harus mengubah nama domain instance yang dihosting Looker. Sebagai contoh, instance yang dihosting Looker biasanya menggunakan format https://<hostname>.<subdomain>.<domain>.com. Jika nama domain Looker diubah, Looker tidak akan lagi dianggap sebagai domain pihak ketiga. Lihat halaman Praktik Terbaik Cara mengubah URL instance Looker untuk mengetahui informasi selengkapnya.

Jika Anda tertarik untuk menambahkan domain kustom untuk instance Looker, hubungi Dukungan Looker untuk menyiapkan konfigurasi DNS yang diperlukan.

Instance yang dihosting sendiri

Jika Anda menghosting sendiri instance Looker, pastikan aplikasi yang menggunakan sematan bertanda tangan berada di domain dasar yang sama dengan instance Looker Anda dengan mengubah entri DNS untuk instance Looker Anda.

Chrome juga mewajibkan agar setiap cookie sesi dengan tanda samesite=none juga menentukan secure. Looker tidak akan menandai secure jika instance Looker Anda tidak dilengkapi dengan --ssl-provided-externally-by=<s> flag startup, jadi pastikan flag startup ini dikonfigurasi.

Saya masih mengalami masalah; apa yang harus saya lakukan sekarang?

Jika Anda masih mengalami masalah setelah mencoba saran di halaman ini, hubungi kontak Looker Anda, atau buka Dukungan Looker untuk membuka tiket.