Mengalihkan permintaan ke /.well-known/change-password
ke URL perubahan sandi
Setel pengalihan dari /.well-known/change-password
ke halaman ubah sandi
situs Anda. Tindakan ini akan memungkinkan pengelola sandi menavigasi pengguna Anda
langsung ke halaman tersebut.
Pengantar
Seperti yang Anda ketahui, {i>password<i} bukanlah cara terbaik untuk mengelola akun Google. Untungnya, ada teknologi baru seperti WebAuthn dan teknik seperti sandi sekali pakai yang membantu kita lebih dekat ke dunia tanpa {i>password<i}. Namun, masih terus dikembangkan dan segala sesuatu tidak akan berubah dengan cepat. Banyak pengembang masih perlu berurusan dengan sandi setidaknya selama beberapa hari ke depan bertahun-tahun. Sementara kita menunggu teknologi dan teknik baru menjadi menjadi hal biasa, kita setidaknya dapat membuat {i>password<i} lebih mudah digunakan.
Cara yang baik untuk melakukan hal ini adalah menyediakan dukungan yang lebih baik untuk pengelola sandi.
Cara pengelola sandi membantu
Pengelola sandi dapat terintegrasi di browser atau disediakan sebagai aplikasi pihak ketiga. Mereka dapat membantu pengguna dalam berbagai cara:
Isi otomatis sandi untuk kolom input yang benar: Beberapa browser dapat menemukan input yang benar secara heuristis bahkan jika {i>website<i} tidak dioptimalkan untuk tujuan. Pengembang web dapat membantu pengelola sandi dengan memberi anotasi HTML dengan benar tag input.
Cegah phishing: Karena pengelola sandi mengingat tempat sandi berada direkam, sandi hanya dapat diisi otomatis di URL yang tepat, dan bukan di situs phishing.
Buat sandi yang kuat dan unik: Karena sandi yang kuat dan unik langsung dibuat dan disimpan oleh pengelola sandi, sehingga pengguna tidak perlu mengingat satu karakter {i>password<i}.
Membuat dan mengisi otomatis sandi menggunakan pengelola sandi sudah menyajikan web dengan baik, tetapi mempertimbangkan siklus hidupnya, memperbarui {i>password<i} kapan pun diperlukan, sama pentingnya dengan membuat dan mengisi otomatis. Kepada memanfaatkannya dengan benar, pengelola sandi menambahkan fitur baru:
Mendeteksi sandi yang rentan dan menyarankan untuk memperbaruinya: Pengelola sandi dapat mendeteksi {i>password<i} yang digunakan kembali, menganalisis entropi dan kelemahannya, serta bahkan mendeteksi sandi yang berpotensi bocor atau sandi yang diketahui tidak aman dari sumber seperti Have I Been Pwned.
Pengelola {i>password<i} dapat memperingatkan pengguna tentang {i>password<i} yang bermasalah, tetapi ada banyak hambatan dalam meminta pengguna untuk menavigasi dari beranda guna mengganti {i>password<i} selain melalui proses aktual pengubahan {i>password<i} (yang bervariasi di setiap situs). Akan jauh lebih mudah jika pengelola {i>password<i} dapat mengarahkan pengguna langsung ke URL {i>change-password<i}. Di sinilah sebuah URL yang dikenal untuk mengubah sandi akan berguna.
Dengan mereservasi jalur URL terkenal yang mengalihkan pengguna ke perubahan tersebut {i>password<i}, situs web dapat dengan mudah mengalihkan pengguna ke tempat yang tepat mengubah {i>password<i} mereka.
Menyiapkan "URL yang dikenal untuk mengubah sandi"
.well-known/change-password
diusulkan sebagai URL yang dikenal untuk perubahan
sandi. Yang harus Anda lakukan adalah
untuk mengonfigurasi server Anda agar mengalihkan permintaan untuk .well-known/change-password
ke URL ubah sandi di situs Anda.
Misalnya, situs Anda adalah https://example.com
dan perubahan tersebut
URL sandinya adalah https://example.com/settings/password
. Anda hanya perlu mengatur
server Anda untuk mengalihkan permintaan
https://example.com/.well-known/change-password
hingga
https://example.com/settings/password
. Selesai. Untuk pengalihan, gunakan
kode status HTTP
302 Found
, 303 See
Other
, atau 307
Temporary Redirect
.
Atau, Anda dapat menayangkan HTML di URL .well-known/change-password
dengan
tag <meta>
menggunakan
http-equiv="refresh"
<meta http-equiv="refresh" content="0;url=https://example.com/settings/password">
Kunjungi kembali HTML halaman ubah sandi Anda
Tujuan dari fitur ini adalah untuk membantu siklus hidup {i>password<i} pengguna menjadi lebih lancar. Anda dapat melakukan dua hal untuk memberdayakan pengguna agar memperbarui {i>password-<i}nya tanpa hambatan:
- Jika formulir {i>change-password<i}
memerlukan {i>password<i} saat ini, tambahkan
autocomplete="current-password"
ke tag<input>
untuk membantu sandi pengelola akan mengisi otomatisnya. - Untuk isian {i>password<i} baru (dalam banyak kasus, ada dua isian untuk memastikan bahwa
pengguna telah memasukkan {i>password<i} baru dengan benar), tambahkan
autocomplete="new-password"
ke tag<input>
untuk membantu sandi pengelola menyarankan {i>password<i} yang dibuat.
Pelajari lebih lanjut di Terbaik untuk formulir login praktik terbaik.
Cara penggunaannya di dunia nyata
Contoh
Berkat Apple Safari,
implementasi,
/.well-known/change-password
, telah tersedia di beberapa perusahaan
situs web untuk sementara waktu:
Cobalah sendiri dan lakukan hal yang sama untuk Anda!
Kompatibilitas browser
URL yang terkenal untuk mengubah sandi telah didukung di Safari sejak 2019. Pengelola sandi Chrome mulai mendukungnya mulai versi 86 dan seterusnya (yang dijadwalkan untuk rilis Stabil pada akhir Oktober 2020) dan browser berbasis Chromium lainnya mungkin mengikuti. Firefox menganggapnya layak menerapkan, tetapi tidak menunjukkan bahwa mereka berencana melakukannya mulai Agustus 2020.
Perilaku pengelola sandi Chrome
Mari kita lihat cara pengelola sandi Chrome memperlakukan sandi yang rentan.
Pengelola sandi Chrome dapat memeriksa kebocoran sandi. Dengan menavigasi
untuk about://settings/passwords
pengguna dapat menjalankan Periksa sandi di penyimpanan
{i>password<i}, dan melihat daftar {i>
password<i} yang disarankan untuk memperbarui.
Dengan mengklik tombol Ubah sandi di sebelah sandi yang disarankan untuk diperbarui, browser akan:
- Buka halaman ubah sandi situs jika
/.well-known/change-password
adalah melakukan penyiapan dengan benar. - Buka halaman beranda situs jika
/.well-known/change-password
tidak disiapkan dan Google tidak mengetahui penggantiannya.
200 OK
meskipun /.well-known/change-password
tidak ada?Pengelola sandi mencoba menentukan apakah situs
web mendukung URL terkenal untuk
mengubah sandi dengan mengirimkan permintaan ke /.well-known/change-password
sebelum
meneruskan pengguna ke URL ini. Jika permintaan menampilkan 404 Not Found
jelas bahwa URL tidak tersedia, tetapi respons 200 OK
tidak
berarti URL tersebut tersedia, karena ada beberapa kasus ekstrem:
- Situs web rendering sisi server menampilkan "Tidak ditemukan" ketika tidak ada konten
tetapi dengan
200 OK
. - Situs rendering sisi server merespons dengan
200 OK
jika tidak ada setelah melakukan pengalihan ke halaman "Tidak ditemukan" kami. - Aplikasi satu halaman merespons dengan shell dengan
200 OK
dan merender pesan "Not ditemukan" di sisi klien ketika tidak ada konten.
Untuk kasus ekstrem ini, pengguna akan diteruskan ke "Not Found" dan hal itu akan menjadi sumber kebingungan.
Itulah sebabnya ada standar yang diusulkan
mekanisme
untuk menentukan apakah server dikonfigurasi untuk merespons dengan 404 Not Found
ketika benar-benar tidak ada konten, dengan meminta halaman acak. Sebenarnya,
URL juga dicadangkan:
/.well-known/resource-that-should-not-exist-whose-status-code-should-not-be-200
.
Chrome, misalnya, menggunakan jalur URL ini untuk menentukan apakah browser dapat menerima
URL ubah sandi yang benar dari /.well-known/change-password
terlebih dahulu.
Saat men-deploy /.well-known/change-password
, pastikan
server mengembalikan 404 Not Found
untuk konten yang tidak ada.
Masukan
Jika Anda memiliki masukan tentang spesifikasi, ajukan masalah ke spesifikasi repositori Anda.
Resource
- URL yang Terkenal untuk Perubahan Sandi
- Mendeteksi keandalan status HTTP kode
- Praktik terbaik formulir login
Foto oleh Matthew Brodeur di Unsplash