Bantu pengguna mengubah sandi secara mudah dengan menambahkan URL terkenal untuk mengubah sandi

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.

Fungsi Periksa sandi Chrome

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.
Bagaimana jika server menampilkan 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

Foto oleh Matthew Brodeur di Unsplash