Cara Tambah Pengesahan Dua Faktor pada Aplikasi Anda
Untuk menambah pengesahan dua faktor (2FA) pada aplikasi anda, benarkan pengguna memautkan aplikasi pengesah dengan mengimbas kod QR, minta kod enam digit yang ditunjukkannya selepas kata laluan, dan hanya cipta sesi penuh di pelayan apabila kod itu betul. Berikan setiap pengguna kod pemulihan sekali guna apabila mereka menghidupkannya, hadkan bilangan kod yang boleh diteka, dan perlukan kata laluan serta kod semasa sebelum 2FA boleh dimatikan. Jika anda menggunakan pembekal auth yang dihoskan, hidupkan pilihan berbilang faktor terbinanya dan bukannya membina sendiri.
Panduan ini menerangkan pilihan, aliran tepat, prompt untuk diberikan kepada pembina AI, dan kesilapan yang menjadikan 2FA kelihatan wujud tetapi tidak berbuat apa-apa. Jika konsep ini baharu, mulakan dengan apa itu pengesahan dua faktor.
Sebelum bermula: anda perlukan log masuk yang berfungsi
2FA berada di atas log masuk yang sedia ada. Anda memerlukan salah satu daripada ini dahulu:
- Log masuk anda sendiri, dengan pengguna dan kata laluan yang dicincang disimpan dalam pangkalan data aplikasi anda.
- Pembekal auth yang dihoskan yang menguruskan pengguna untuk anda.
Jika anda belum mempunyai mana-mana, mulakan dengan cara menambah log masuk pada aplikasi anda. Bahagian seterusnya mengandaikan langkah kata laluan sudah berfungsi.
Pilih faktor kedua anda
| Kaedah | Usaha pengguna | Keselamatan | Kos menjalankan | Lalai yang baik? |
|---|---|---|---|---|
| Aplikasi pengesah (TOTP) | Imbas kod QR sekali, taip kod semasa log masuk | Baik; boleh dipancing jika laman palsu meminta kod | Percuma | Ya, untuk kebanyakan aplikasi |
| Kunci laluan atau kunci keselamatan | Ketik atau guna cap jari | Paling kuat; menentang pancingan | Percuma | Ya, jika pengguna anda selesa dengannya |
| Kod e-mel | Semak peti mel semasa log masuk | Setakat kekuatan akaun e-mel itu | Kos penghantaran e-mel | Sebagai sandaran sahaja |
| Kod SMS | Tunggu mesej teks | Paling lemah; pertukaran SIM dan pancingan | Yuran setiap mesej | Hanya jika pengguna tidak boleh guna aplikasi |
TOTP bermaksud kata laluan sekali guna berasaskan masa, standard (RFC 6238) yang digunakan oleh aplikasi pengesah. Pelayan anda dan telefon pengguna berkongsi rahsia; kedua-duanya menjana kod pendek yang sama daripada rahsia itu dan masa semasa, biasanya berubah setiap 30 saat. Tiada sambungan rangkaian atau pembekal SMS diperlukan.
Kunci laluan menggantikan atau melengkapkan kata laluan dengan kunci kriptografi yang disimpan pada peranti pengguna. Ia lebih kuat tetapi lebih banyak kerja untuk dibina sendiri, jadi ramai aplikasi bermula dengan TOTP dan menambah kunci laluan kemudian, atau mendapatkannya daripada pembekal auth.
Bina sendiri atau hidupkan?
| Pendekatan | Kelebihan | Kekurangan |
|---|---|---|
| Berbilang faktor pembekal auth yang dihoskan | Kurang kod; pembekal menyelenggara butiran keselamatan | Kos bulanan apabila berskala; anda bergantung pada pilihan pembekal |
| TOTP sendiri dengan pustaka | Kawalan penuh; tiada yuran setiap pengguna | Anda menguruskan kes tepi: kunci keluar, pemulihan, penyimpanan rahsia |
Semak dokumentasi semasa pembekal anda untuk faktor yang disokongnya dan pada pelan mana. Apa pun pilihannya, jangan sekali-kali tulis sendiri matematik penjanaan kod; gunakan pustaka yang meluas digunakan.
Tentukan dasar dahulu
Jawab soalan ini sebelum anda memberi prompt, kerana ia mengubah reka bentuk:
- Siapa yang mesti menggunakannya? Pilihan untuk semua, wajib untuk admin dan kakitangan, atau wajib untuk semua. Mewajibkannya untuk sesiapa yang mempunyai kuasa admin adalah perkara biasa. Lihat kawalan akses berasaskan peranan.
- Berapa kerap pengguna memasukkan semula kod? Setiap log masuk, atau sekali setiap peranti selama 30 hari ("ingat peranti ini").
- Tindakan mana yang memerlukan semakan baharu? Menukar e-mel, butiran pembayaran, atau mematikan 2FA ialah calon yang baik. Ini dipanggil pengesahan langkah-naik.
- Apakah proses kehilangan telefon? Kod pemulihan, serta cara manual sandaran yang anda sanggup jalankan.
Langkah demi langkah: 2FA TOTP pada log masuk anda sendiri
1. Simpan medan yang betul
Setiap pengguna memerlukan: sama ada 2FA didayakan, rahsia TOTP (disulitkan semasa disimpan, bukan teks biasa), masa ia didayakan, dan senarai kod pemulihan yang disimpan dicincang, seperti kata laluan. Tambah tempat untuk mengira percubaan yang gagal.
2. Pendaftaran
- Pengguna membuka Tetapan dan mengklik Hidupkan pengesahan dua faktor.
- Pelayan menjana rahsia baharu dan memulangkannya sebagai kod QR, serta versi teks untuk orang yang tidak dapat mengimbas.
- Pengguna mengimbasnya dalam aplikasi pengesah dan menaip kod semasa.
- Pelayan menyemak kod itu. Hanya jika betul ia menyimpan rahsia dan menandakan 2FA sebagai didayakan.
- Aplikasi memaparkan 8–10 kod pemulihan sekali sahaja dan meminta pengguna menyimpannya.
Langkah 4 penting: menghidupkan 2FA sebelum kod disahkan akan mengunci keluar sesiapa yang imbasannya gagal.
3. Log masuk dengan langkah kedua
- Pengguna menghantar e-mel dan kata laluan. Pelayan menyemaknya.
- Jika 2FA didayakan, pelayan tidak mencipta sesi penuh. Sebaliknya ia mencipta keadaan "faktor kedua tertunggu" yang berjangka pendek.
- Aplikasi memaparkan skrin kod. Pelayan menyemak kod itu, dengan sedikit ruang untuk kehanyutan jam.
- Hanya sekarang pelayan mengeluarkan sesi sebenar.
Setiap laluan dan titik akhir API yang dilindungi mesti menolak keadaan tertunggu itu. Skrin 2FA yang hanya menyembunyikan halaman dalam pelayar boleh dilangkau dengan memanggil API secara langsung.
4. Had dan amaran
Kod enam digit mempunyai sejuta gabungan, yang boleh diteka tanpa had. Hadkan percubaan, kunci langkah kedua untuk tempoh tertentu selepas kegagalan berulang, dan e-mel pengguna apabila ia berlaku. Lihat had kadar dan menghantar e-mel dari aplikasi anda.
5. Pemulihan dan mematikan
- Kod pemulihan berfungsi sekali, kemudian dipadamkan.
- Mematikan 2FA memerlukan kata laluan dan kod semasa atau kod pemulihan.
- Menjana semula kod pemulihan membatalkan set yang lama.
- E-mel pengguna setiap kali 2FA dihidupkan atau dimatikan.
Prompt untuk diberikan kepada pembina AI anda
Mulakan dengan aliran teras:
Tambah pengesahan dua faktor pilihan menggunakan aplikasi pengesah (TOTP) pada log masuk e-mel dan kata laluan kami yang sedia ada. Gunakan pustaka TOTP yang terkenal, jangan tulis algoritmanya sendiri. Dalam Tetapan, papar kod QR dan rahsia teks, dan hanya dayakan 2FA selepas pengguna memasukkan kod yang sah. Simpan rahsia disulitkan dan jangan papar lagi selepas persediaan. Papar 10 kod pemulihan sekali guna sekali sahaja dan simpan dalam bentuk cincang.
Kemudian penguatkuasaan, yang biasanya paling sering kurang dalam kod yang dijana:
Kuatkuasakan 2FA di pelayan. Selepas kata laluan yang betul, pengguna dengan 2FA didayakan mendapat keadaan tertunggu yang berjangka pendek, bukan sesi penuh. Setiap halaman dan laluan API yang dilindungi mesti menolak keadaan tertunggu. Hadkan percubaan kod kepada 5, kemudian kunci langkah kedua selama 15 minit dan e-mel pengguna.
Kemudian dasar:
Wajibkan 2FA untuk akaun admin: admin tanpa 2FA dihantar ke persediaan dan tidak boleh sampai ke papan pemuka sehingga ia selesai. Wajibkan kata laluan dan kod semasa untuk mematikan 2FA atau menukar e-mel akaun. E-mel pengguna apabila 2FA didayakan atau dimatikan.
Akhir sekali, minta ejen menerangkan apa yang dibinanya:
Senaraikan setiap laluan yang menyemak sama ada faktor kedua telah selesai, di mana rahsia TOTP dan kod pemulihan disimpan, dan bagaimana ia dilindungi.
Kesilapan biasa
- Sesi dikeluarkan selepas kata laluan. Pepijat yang paling serius. Jika sesi penuh wujud sebelum kod disemak, 2FA hanya hiasan. Uji dengan memanggil API yang dilindungi selepas langkah kata laluan sahaja.
- Tiada had percubaan. Tekaan tanpa had menjadikan kod boleh diserang secara paksa.
- Rahsia atau kod pemulihan teks biasa. Kebocoran pangkalan data kemudian menyerahkan faktor kedua semua orang.
- Mendayakan sebelum mengesahkan. Pengguna yang salah imbas terkunci keluar pada log masuk seterusnya.
- Tiada laluan pemulihan. Setiap telefon yang hilang menjadi tiket sokongan atau pelanggan yang hilang.
- Mematikan dengan mudah. Jika sesi yang dicuri boleh mematikan 2FA tanpa kod, perlindungan itu hilang.
- Kod dalam log. Pastikan kod dan rahsia tidak pernah muncul dalam log pelayan atau mesej ralat.
- Semakan hanya pada halaman log masuk. Tetapan semula kata laluan, log masuk pautan ajaib dan log masuk sosial juga mesti menghormati 2FA, atau ia menjadi jalan pintas.
Senarai semak ujian
- Pendaftaran hanya selesai selepas kod yang sah
- Log masuk dengan kata laluan yang betul tetapi tanpa kod tidak memberi akses kepada mana-mana halaman atau API yang dilindungi
- Kod yang salah ditolak; kod salah berulang mencetuskan kunci keluar dan e-mel
- Kod dari beberapa minit yang lalu ditolak
- Setiap kod pemulihan berfungsi tepat sekali
- Mematikan 2FA memerlukan kata laluan dan kod semasa
- Tetapan semula kata laluan tidak memintas 2FA
- Admin tanpa 2FA tidak boleh sampai ke halaman admin (jika diwajibkan)
- Rahsia dan kod pemulihan disulitkan atau dicincang dalam pangkalan data
- Tiada kod atau rahsia muncul dalam log
Jalankan juga senarai semak keselamatan untuk aplikasi yang dibina dengan AI sepenuhnya sebelum pelancaran.
Menambah 2FA dalam Mythex
Mythex tidak menyertakan sistem log masuk terbina dalam untuk pengguna akhir aplikasi anda, jadi 2FA ialah sebahagian daripada pendekatan auth yang anda pilih: log masuk e-mel dan kata laluan anda sendiri menggunakan pangkalan data projek, atau pembekal yang dihoskan dengan sokongan berbilang faktor. Anda menerangkan apa yang anda mahu dalam sembang menggunakan prompt seperti di atas, dan sebarang kunci pembekal disimpan dalam rahsia projek (melalui /secrets, tetapan projek atau kad rahsia yang ditunjukkan ejen) dan bukannya dalam kotak mesej. Resipi dokumentasi Tambah log masuk pada aplikasi anda mempunyai prompt permulaan, dan Keselamatan untuk aplikasi yang anda bina meliputi tabiat berkaitan kunci dan kebenaran. Selepas ejen selesai, uji setiap item dalam senarai semak dalam Pratonton sebelum anda menerbitkan.
Soalan lazim
Apakah cara paling mudah untuk menambah pengesahan dua faktor pada aplikasi?
Jika anda menggunakan pembekal auth yang dihoskan, hidupkan pilihan berbilang faktor terbina dalamnya; biasanya itulah cara dengan kod paling sedikit. Jika anda menjalankan log masuk sendiri, tambah kod aplikasi pengesah (TOTP) dengan pustaka yang terkenal, serta kod pemulihan dan semakan di bahagian pelayan.
Patutkah saya guna kod SMS untuk 2FA?
SMS lebih baik daripada tiada faktor kedua, tetapi ia pilihan biasa yang paling lemah kerana mesej boleh dialihkan melalui pertukaran SIM dan kod boleh dipancing. Tawarkan aplikasi pengesah sebagai lalai, dan kunci laluan jika pengguna anda bersedia untuknya.
Adakah saya perlukan pangkalan data untuk menambah 2FA?
Jika anda menjalankan log masuk sendiri, ya. Rahsia 2FA setiap pengguna, sama ada 2FA dihidupkan, dan kod pemulihan mereka yang dicincang mesti disimpan di tempat pelayan anda boleh semak. Pembekal auth yang dihoskan menyimpannya untuk anda.
Apa yang berlaku jika pengguna kehilangan telefon mereka?
Mereka log masuk menggunakan salah satu kod pemulihan sekali guna yang ditunjukkan ketika mereka menghidupkan 2FA, kemudian menyediakan semula 2FA pada peranti baharu. Tanpa kod pemulihan, anda perlukan semakan identiti secara manual, jadi tentukan proses itu sebelum pelancaran.