Útmutatók

Kétfaktoros azonosítás hozzáadása az appodhoz

Ahhoz, hogy kétfaktoros azonosítást (2FA) adj az appodhoz, engedd, hogy a felhasználók egy hitelesítő appal párosítsák a fiókjukat QR-kód beolvasásával, és a jelszó után kérd a hatjegyű kódot, amelyet az app mutat. A teljes munkamenetet csak akkor hozd létre a szerveren, miután ez a kód helyesnek bizonyult. Minden felhasználónak adj egyszer használható helyreállító kódokat, amikor bekapcsolja a 2FA-t, korlátozd, hány kódot próbálhat ki valaki, és a 2FA kikapcsolásához kérd a jelszót és egy aktuális kódot. Ha hosztolt hitelesítési szolgáltatót használsz, kapcsold be annak beépített többfaktoros opcióját, ahelyett hogy sajátot építenél.

Ez az útmutató végigvezet a választásokon, a pontos folyamaton, az AI app-építőnek adható promptokon, és azokon a hibákon, amelyek miatt a 2FA meglévőnek látszik, de nem véd semmit. Ha a fogalom új számodra, kezdd a mi a kétfaktoros azonosítás oldallal.

Előbb kell egy működő bejelentkezés

A 2FA egy meglévő bejelentkezésre épül. Ehhez az egyik kell:

  • Saját bejelentkezés, a felhasználók és a hashelt jelszavak az appod adatbázisában.
  • Hosztolt hitelesítési szolgáltató, amely helyetted kezeli a felhasználókat.

Ha még egyik sincs, kezd a bejelentkezés hozzáadásával az appodhoz útmutatóval. A további rész azt feltételezi, hogy a jelszavas lépés már működik.

Válaszd ki a második faktort

MódszerFelhasználói erőfeszítésBiztonságÜzemeltetési költségJó alapértelmezés?
Hitelesítő app (TOTP)Egyszer be kell olvasni a QR-kódot, bejelentkezéskor be kell írni a kódotJó; adathalászható, ha egy hamis oldal kéri a kódotIngyenesIgen, a legtöbb appnál
Passkey vagy biztonsági kulcsKoppintás vagy ujjlenyomatA legerősebb; ellenáll az adathalászatnakIngyenesIgen, ha a felhasználóid kényelmesen használják
E-mail-kódBejelentkezéskor ellenőrzi a postaládátCsak olyan erős, mint az e-mail-fiókE-mail-küldés költségeCsak tartalékként
SMS-kódSMS-re várA leggyengébb; SIM-csere és adathalászatÜzenetenkénti díjCsak ha a felhasználók nem tudnak appot használni

A TOTP a time-based one-time password rövidítése, az a szabvány (RFC 6238), amelyet a hitelesítő appok használnak. A szervered és a felhasználó telefonja megoszt egy titkot; mindkettő ebből és az aktuális időből ugyanazt a rövid kódot számolja ki, jellemzően 30 másodpercenként változva. Nincs szükség hálózati kapcsolatra vagy SMS-szolgáltatóra.

A passkey-k kriptográfiai kulccsal helyettesítik vagy egészítik ki a jelszót, amelyet a felhasználó eszközén tárolnak. Erősebbek, de nehezebb saját magad megépíteni őket, ezért sok app TOTP-vel indít, és később vagy hitelesítési szolgáltatótól kapott passkey-kel bővít.

Építsd meg, vagy kapcsold be?

MegközelítésElőnyökHátrányok
Hosztolt hitelesítési szolgáltató MFA-jaKevesebb kód; a szolgáltató karbantartja a biztonsági részleteketHavi költség nagy méretnél; a szolgáltató lehetőségeitől függsz
Saját TOTP egy könyvtárralTeljes kontroll; nincs felhasználónkénti díjTe viseled a szélsőséges eseteket: zárolások, helyreállítás, titoktárolás

Nézd meg a szolgáltatód aktuális dokumentációját, hogy mely faktorokat és melyik csomagban támogatja. Bármelyik utat is választod, a kódgeneráló matematikát soha ne írd meg magad; használj széles körben elterjedt könyvtárat.

Döntsd el előbb a szabályzatot

Válaszolj ezekre a kérdésekre, mielőtt promptolnál, mert megváltoztatják a tervezést:

  1. Kinek kötelező? Mindenkinek opcionális, az adminisztrátoroknak és a munkatársaknak kötelező, vagy mindenkinek kötelező? Gyakori, hogy a 2FA kötelező minden adminisztrátori jogosultsággal rendelkező embernek. Lásd: szerepkör alapú hozzáférés-szabályozás.
  2. Milyen gyakran kell újra beírni a kódot? Minden bejelentkezéskor, vagy eszközönként 30 napig („emlékezz erre az eszközre”).
  3. Mely műveletekhez kell friss ellenőrzés? Az e-mail-cím módosítása, a kifizetési adatok, vagy a 2FA kikapcsolása jó jelöltek. Ezt lépcsőzetes hitelesítésnek (step-up authentication) nevezik.
  4. Mi a folyamat, ha valaki elveszíti a telefonját? Helyreállító kódok, plusz egy kézi tartalék, amelyet vállalsz, hogy lefuttatsz.

Lépésről lépésre: TOTP-alapú 2FA a saját bejelentkezésen

1. Tárold a megfelelő mezőket

Minden felhasználónak kell: egy jelző, hogy a 2FA be van-e kapcsolva, a TOTP-titok (nyugalmi állapotban titkosítva, nem nyílt szövegként), a bekapcsolás ideje, és a helyreállító kódok listája hashelve, mint a jelszavak. Adj hozzá egy helyet a sikertelen próbálkozások számolására.

2. Regisztráció

  1. A felhasználó megnyitja a Beállításokat, és rákattint a Kétfaktoros azonosítás bekapcsolása gombra.
  2. A szerver generál egy új titkot, és QR-kódként adja vissza, valamint szöveges formában azoknak, akik nem tudják beolvasni.
  3. A felhasználó beolvassa egy hitelesítő appal, és beírja az aktuális kódot.
  4. A szerver ellenőrzi a kódot. Csak ha helyes, menti el a titkot, és jelöli a 2FA-t bekapcsoltnak.
  5. Az app egyszer mutatja meg a 8–10 helyreállító kódot, és arra kéri a felhasználót, hogy mentse el őket.

A 4. lépés fontos: ha a 2FA-t a kód megerősítése előtt kapcsolod be, mindenki kizárható, akinek a beolvasása hibás volt.

3. Bejelentkezés második lépéssel

  1. A felhasználó megadja az e-mail-címét és jelszavát. A szerver ellenőrzi őket.
  2. Ha a 2FA be van kapcsolva, a szerver nem hoz létre teljes munkamenetet. Helyette egy rövid életű „második faktor függőben” állapotot hoz létre.
  3. Az app megjeleníti a kódbeviteli képernyőt. A szerver ellenőrzi a kódot, kis időablakot engedve az óraeltérésnek.
  4. Csak ekkor adja ki a szerver a valódi munkamenetet.

Minden védett útvonalnak és API-végpontnak el kell utasítania a függőben lévő állapotot. Egy olyan 2FA-képernyő, amely csak a böngészőben rejt oldalakat, megkerülhető, ha közvetlenül az API-t hívják.

4. Korlátok és riasztások

Egy hatjegyű kódnak egymillió kombinációja van, ami korlátozás nélkül kitalálható. Korlátozd a próbálkozásokat, zárold le a második lépést egy időre ismételt hibák után, és e-mailben értesítsd a felhasználót, ha ez megtörténik. Lásd: sebességkorlátozás és e-mailek küldése az appodból.

5. Helyreállítás és kikapcsolás

  • Egy helyreállító kód egyszer működik, utána törlődik.
  • A 2FA kikapcsolásához kell a jelszó és egy aktuális kód vagy helyreállító kód.
  • A helyreállító kódok újragenerálása érvényteleníti a régi készletet.
  • E-mailben értesítsd a felhasználót, valahányszor a 2FA-t bekapcsolják vagy kikapcsolják.

Promptok az AI app-építőnek

Kezdd az alapvető folyamattal:

Adj hozzá opcionális kétfaktoros azonosítást hitelesítő appokkal (TOTP) a meglévő e-mailes és jelszavas bejelentkezésünkhöz. Használj egy ismert TOTP-könyvtárat, ne írd meg magad az algoritmust. A Beállításokban jelenjen meg egy QR-kód és a szöveges titok, és a 2FA csak akkor kapcsolódjon be, miután a felhasználó érvényes kódot ad meg. A titkot titkosítva tárold, és a beállítás után soha ne mutasd újra. Mutass 10 egyszer használható helyreállító kódot egyszer, és hashelve tárold őket.

Aztán a kikényszerítés, ahol a generált kód a leggyakrabban elmarad:

Kényszerítsd ki a 2FA-t a szerveren. Helyes jelszó után a 2FA-t használó felhasználók rövid életű függőben lévő állapotot kapnak, nem teljes munkamenetet. Minden védett oldalnak és API-útvonalnak el kell utasítania a függőben lévő állapotot. Korlátozd a kódpróbálkozásokat 5-re, utána 15 percre zárold le a második lépést, és küldj e-mailt a felhasználónak.

Aztán a szabályzat:

Kötelezd a 2FA-t az adminisztrátori fiókokra: a 2FA nélküli adminisztrátort a beállításba küldjük, és nem érheti el az irányítópultot, amíg ezt nem végzi el. A 2FA kikapcsolásához vagy a fiók e-mail-címének módosításához kérd a jelszót és egy aktuális kódot. E-mailben értesítsd a felhasználót, amikor a 2FA be- vagy kikapcsolódik.

Végül kérd meg az ügynököt, hogy magyarázza el, mit épített:

Sorold fel minden útvonalat, amely ellenőrzi, hogy egy második faktor teljesítve lett-e, adja meg, hol tárolódnak a TOTP-titok és a helyreállító kódok, és hogyan vannak védve.

Gyakori hibák

  • Munkamenet kiadása a jelszó után. Ez a legsúlyosabb hiba. Ha a teljes munkamenet a kód ellenőrzése előtt létezik, a 2FA csak díszítés. Teszteld úgy, hogy a jelszavas lépés után közvetlenül hívsz egy védett API-t.
  • Nincs próbálkozási korlát. A korlátlan találgatás a kódot brute-force-szal feltörhetővé teszi.
  • Nyílt szövegű titkok vagy helyreállító kódok. Egy adatbázis-szivárgás mindenki második faktorát odaadja.
  • Engedélyezés ellenőrzés nélkül. Akik rosszul olvasták be a kódot, a következő bejelentkezésnél kizáródnak.
  • Nincs helyreállítási út. Minden elveszett telefon támogatási jegy vagy elveszett ügyfél.
  • Könnyű kikapcsolás. Ha egy ellopott munkamenet kód nélkül ki tudja kapcsolni a 2FA-t, a védelem megszűnt.
  • Kódok a naplókban. Ügyelj rá, hogy a kódok és a titkok soha ne jelenjenek meg a szerver naplóiban vagy a hibaüzenetekben.
  • Csak a bejelentkezési oldalon ellenőrizni. A jelszó-visszaállításnak, a „mágikus linkes” bejelentkezésnek és minden közösségi bejelentkezésnek is tiszteletben kell tartania a 2FA-t, különben ezek megkerülési utakká válnak.

Tesztellenőrzőlista

  • A regisztráció csak érvényes kód után fejeződik be
  • Helyes jelszó kód nélkül nem ad hozzáférést egyetlen védett oldalhoz vagy API-hoz sem
  • Egy rossz kódot elutasítanak; ismételt rossz kódok a zárolást és az e-mailt váltják ki
  • Néhány perccel korábbi kódot elutasítanak
  • Minden helyreállító kód pontosan egyszer működik
  • A 2FA kikapcsolásához kell a jelszó és egy aktuális kód
  • A jelszó-visszaállítás nem kerüli meg a 2FA-t
  • A 2FA nélküli adminisztrátorok nem érik el az adminisztrátori oldalakat (ha kötelező)
  • A titkok és a helyreállító kódok titkosítva vagy hashelve vannak az adatbázisban
  • Kódok és titkok nem jelennek meg a naplókban

Építés előtt futtasd le a biztonsági ellenőrzőlistát AI-val épített appokhoz is.

2FA hozzáadása a Mythexen

A Mythex nem tartalmaz beépített bejelentkezési rendszert az app végfelhasználóinak, ezért a 2FA annak a hitelesítési megoldásnak a része, amelyet választasz: vagy a saját e-mailes és jelszavas bejelentkezésed a projekt adatbázisával, vagy egy hosztolt szolgáltató többfaktoros támogatással. A chatben a fenti hasonló promptokkal írhatod le, amit szeretnél, a szolgáltatói kulcsokat pedig a projekt titkaiba kell tenni (a /secrets oldalon, a projekt-beállításokban vagy abban a titokkártyában, amelyet az ügynök mutat), nem az üzenetmezőbe. A dokumentáció Bejelentkezés hozzáadása az appodhoz receptje kezdő promptot ad, a Biztonság az általad épített appokhoz pedig a kulcsokkal és a jogosultságokkal kapcsolatos szokásokat írja le. Miután az ügynök végzett, az előnézetben teszteld az ellenőrzőlista minden pontját, mielőtt közzéteszed.

Kérdések

Mi a legegyszerűbb módja a kétfaktoros azonosítás hozzáadásának egy appban?

Ha hosztolt hitelesítési szolgáltatót használsz, kapcsold be a beépített többfaktoros opcióját; ez általában a legkevesebb kódot igényli. Ha saját bejelentkezést futtatsz, adj hozzá hitelesítő-app kódokat (TOTP) egy ismert könyvtárral, valamint helyreállító kódokat és szerveroldali ellenőrzést.

Használjak SMS-kódokat a 2FA-hoz?

Az SMS jobb, mint a második faktor nélküli megoldás, de a leggyengébb gyakori lehetőség, mert az SMS-eket SIM-cserével át lehet irányítani, a kódokat pedig adathalászattal meg lehet szerezni. Alapértelmezettnek hitelesítő-appot ajánlj, és passkey-t, ha a felhasználóid már készen állnak rá.

Szükségem van adatbázisra a 2FA hozzáadásához?

Ha saját bejelentkezést futtatsz, igen. Minden felhasználó 2FA-titkát, azt, hogy a 2FA be van-e kapcsolva, és a hashelt helyreállító kódjait valahol tárolni kell, ahol a szervered ellenőrizni tudja őket. A hosztolt hitelesítési szolgáltató ezt helyetted tárolja.

Mi történik, ha a felhasználó elveszíti a telefonját?

A bekapcsoláskor megjelenített, egyszer használható helyreállító kódok egyikével jelentkezik be, majd új eszközön újra beállítja a 2FA-t. Helyreállító kódok nélkül kézi személyazonosság-ellenőrzésre van szükség, ezért az indulás előtt döntsd el ezt a folyamatot.

Mythex · Pricing · Építs bármit AI-val · Weboldal- és alkalmazássablonok · A Mythex összehasonlítva · AI-alapú alkalmazásépítési szószedet · Ingyenes eszközök AI-alapú alkalmazásépítéshez · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)