Memecahkan masalah error autentikasi saat menggunakan penyematan yang ditandatangani untuk konten Looker dapat menjadi tantangan. Ada beberapa pendekatan yang dapat Anda lakukan untuk mencoba mendiagnosis masalah, dan Anda akan memilih pendekatan berdasarkan tempat pengalihan mengarahkan pengguna. Tips di halaman ini mengasumsikan bahwa Anda membuat URL sematan yang ditandatangani menggunakan skrip yang mirip dengan skrip di Repositori GitHub contoh sematan Looker, kecuali jika dinyatakan lain.
Hal umum yang perlu dicoba terlebih dahulu
Sebelum Anda mulai menyematkan, pastikan secret sematan telah dibuat di panel Admin dan konten sematan Anda berfungsi dalam Mode Produksi, bukan hanya dalam Mode Pengembangan.
Jika Anda memiliki izin admin, sudo sebagai pengguna penyematan 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 dikirim melalui Internet publik, pastikan SSL (HTTPS) sedang digunakan.
Bagian selanjutnya dari halaman ini menjelaskan error dan masalah lain yang mungkin Anda alami beserta langkah-langkah untuk mengatasinya.
Saya dialihkan ke halaman login atau halaman "Kegagalan login dengan sekali login"
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 yang ditandatangani tidak berfungsi dengan benar.
Pertama, buat URL sematan baru yang ditandatangani dan uji di Embed URI Validator di bagian halaman Embed pada panel Admin Looker. Validator URI Embed terkadang dapat mengungkapkan informasi berharga tentang alasan Anda mengalami error.
Apakah Validator URI Embed muncul seperti yang diharapkan?
Jika Anda berada di halaman Sisipkan pada panel Admin Looker dan Embed URI Validator tidak muncul di halaman, ini menunjukkan bahwa penyematan yang ditandatangani belum diaktifkan. Anda harus mengaktifkan penyematan yang ditandatangani.
Saya menerima error 'signature param' failed to authenticate
Jika Anda melihat error ini, tanda tangan yang dihasilkan oleh skrip Anda tidak berfungsi seperti yang diharapkan. Lihat bagian berikut untuk mengetahui kemungkinan solusinya:
Apakah secret penyematan cocok?
Rahasia penyematan di instance Looker Anda harus sama dengan rahasia penyematan yang ditandatangani dalam skrip pembuatan URL penyematan yang ditandatangani. Jika Anda tidak yakin apakah hal ini benar, pilih Reset Secret untuk membuat secret baru dan menambahkannya ke skrip Anda. Mereset kunci akan merusak penyematan yang menggunakan kunci sebelumnya.
Coba gunakan endpointCreate Signed Embed Url
untuk membuat URL sematan, dengan menentukan secret dalam skrip Anda untuksecret_id
dalam isi panggilan. Respons akan memberi tahu Anda jika secret yang Anda gunakan tidak valid.
Apakah string tanda tangan dalam urutan yang benar?
Parameter penyematan dalam string tanda tangan harus berada dalam urutan yang benar dalam skrip pembuatan URL. Urutan yang tepat didokumentasikan di halaman dokumentasi Penyematan yang ditandatangani.
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 penyematan, 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 baris baru di URL sematan yang ditandatangani, yang dapat terlewat setelah encoding.
Bandingkan skrip Anda dengan contoh skrip kami untuk memeriksa apakah skrip Anda telah 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 penyematan dasar yang ditandatangani. Jika aplikasi Anda tidak perlu memproses peristiwa JavaScript, opsi yang paling sederhana adalah menghapus parameter embed_domain
sepenuhnya.
Jika Anda perlu menggunakan peristiwa JavaScript di aplikasi penyematan, periksa skrip pembuatan URL untuk melihat tempat parameter embed_domain
ditambahkan. Error ini biasanya berarti parameter embed_domain
tidak sengaja ditempatkan sebagai parameter penyematan yang ditandatangani, 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 endpointCreate Signed Embed Url
, parameterembed_domain
harus ditempatkan di akhirtarget_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 telah diakses. Pastikan Anda membuat URL sematan baru yang belum dimuat di browser 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 tersebut.
Saya dialihkan ke halaman dengan pesan error 401 You are not authenticated to view this page.
Jika Anda telah mencoba semua langkah pemecahan masalah yang berlaku dan masalah 401 berlanjut, browser Anda mungkin 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, begitu juga setelan Blokir cookie pihak ketiga di 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 tersemat di seluruh domain kecuali jika setelan privasi cookie browser diubah.
Instance yang dihosting Looker
Admin yang menghosting Looker dan tidak ingin pengguna mengaktifkan cookie pihak ketiga secara manual di browser mereka harus mengubah nama domain instance yang dihosting Looker. Misalnya, 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 Apa yang terjadi jika URL untuk instance Looker saya berubah? halaman Praktik Terbaik 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 penyematan yang ditandatangani berada di domain dasar yang sama dengan instance Looker dengan mengubah entri DNS untuk instance Looker.
Chrome juga mewajibkan setiap cookie sesi dengan flag samesite=none
untuk menentukan secure
. Looker tidak akan memberikan sinyal 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.