Ako pridať prihlásenie do aplikácie: heslá, magické odkazy, Google a roly
Prihlásenie do aplikácie pridáte tak, že vyberiete metódu — e-mail a heslo, magické odkazy (jednorazový prihlasovací odkaz poslaný e-mailom) alebo „Prihlásenie cez Google“ — a implementujete ju overenou autentifikačnou knižnicou alebo hostovaným poskytovateľom, nie od nuly. Potom rozhodnete, čo môže každý typ používateľa robiť (roly), a túto kontrolu vynútite na serveri pri každej stránke a každej požiadavke API. Relácie majú používať bezpečné cookies, mať expiráciu a riadne sa ukončiť pri odhlásení.
Tento sprievodca prechádza každou voľbou a detailmi, ktoré oddeľujú fungujúce prihlásenie od bezpečného. Pojmy, na ktorých to stojí, nájdete v čo je autentifikácia.
Najprv rozhodnite: vôbec potrebujete prihlásenie?
Prihlásenie pridáva trenie a zodpovednosť. Potrebujete ho, keď:
- Používatelia majú súkromné dáta (svoje rezervácie, dokumenty, faktúry)
- Používatelia môžu meniť veci, ktoré uvidia iní
- Účtujete prístup
- Rôzni ľudia potrebujú rôzne oprávnenia (vlastník vs. zamestnanec vs. zákazník)
Pre marketingový web, verejný adresár alebo formulár, ktorý vám len pošle e-mail, ho nepotrebujete. Čakacia listina nepotrebuje účty; stačí pole na e-mail.
Štyri bežné metódy prihlásenia
| Metóda | Ako funguje | Výhody | Nevýhody |
|---|---|---|---|
| E-mail a heslo | Používateľ si vytvorí heslo; vy ukladáte jeho hash | Známe, funguje bez prístupu k e-mailu | Obnova hesla, opätovné používanie, úniky; heslá musíte ukladať bezpečne |
| Magický odkaz | Používateľ zadá e-mail a klikne na odkaz, ktorý mu pošlete | Žiadne heslá na ukladanie ani zabúdanie | Závisí od doručenia e-mailu; prihlásenie je pomalšie |
| Jednorazový kód | Používateľ zadá e-mail a napíše 6-miestny kód | Funguje, keď sa odkazy otvoria v zlom prehliadači | Rovnaká závislosť od e-mailu |
| Sociálne / OAuth (Google, Apple, GitHub, Microsoft) | Iný poskytovateľ potvrdí, kto používateľ je | Najrýchlejšie pre používateľa; žiadne heslo, ktoré by ste ukladali | Používateľ musí mať tento účet; nastavenie u poskytovateľa |
Mnohé aplikácie kombinujú dve: prihlásenie cez Google plus magické odkazy e-mailom je obľúbená dvojica, ktorá pokryje väčšinu ľudí bez ukladania akýchkoľvek hesiel.
E-mail a heslo
Ak ponúkate heslá, toto sú nevyhnutné veci:
- Hashujte heslá pomalým algoritmom na hashovanie hesiel. Odporúčanie OWASP pre ukladanie hesiel je Argon2id, alternatívy sú scrypt, bcrypt alebo PBKDF2. Heslá nikdy neukladajte v čistom texte ani pomocou rýchleho všeobecného hashu.
- Obnova hesla používa náhodný jednorazový odkaz s expiráciou, poslaný na overený e-mail.
- Neprezrádzajte, ktoré e-maily majú účet. „Ak je tento e-mail registrovaný, poslali sme odkaz na obnovu“ je lepšie ako „Účet sa nenašiel“.
- Obmedzte počet pokusov prihlásenia a obnovy, aby sa spomalilo hádanie hesiel.
- Povoľte dlhé heslá a správcov hesiel; vynechajte pravidlá, ktoré vynucujú zvláštne kombinácie znakov.
Magické odkazy a jednorazové kódy
Magický odkaz je prihlasovací odkaz poslaný e-mailom používateľovi. Kliknutím sa prihlási. Jednorazový kód je rovnaká myšlienka, len sa zadá namiesto kliknutia.
- Odkazy a kódy rýchlo expirujú a fungujú len raz.
- Odkaz má prihlásiť používateľa na zariadení, kde klikol, a token nesmie zostať v logoch ani v nástrojoch analytiky.
- Potrebujete spoľahlivé odosielanie e-mailov — pozrite si ako posielať e-maily z aplikácie. Testujte v Gmaile a Outlooku a kontrolujte priečinky so spamom.
Prihlásenie cez Google (a ďalší poskytovatelia OAuth)
„Prihlásenie cez Google“ používa OAuth a OpenID Connect: Google potvrdí, kto je používateľ, a vašej aplikácii povie jeho e-mail a meno. Nastavenie, k septembru 2026, sa robí v sekcii Google Auth Platform v konzole Google Cloud:
- Vytvorte alebo vyberte projekt a vyplňte stránku Branding — čo používatelia vidia na obrazovke súhlasu (názov aplikácie, e-mail podpory, logo).
- Na stránke Clients vytvorte klienta typu „Web application“.
- Pridajte autorizované JavaScript origins a redirect URI — presné adresy, na ktorých vaša aplikácia beží a na ktoré Google vracia používateľov po prihlásení.
- Client ID a client secret uložte medzi tajomstvá aplikácie.
Veci, ktoré sa bežne pokazia, podľa dokumentácie OAuth od Google:
redirect_uri_mismatch: adresa pre návrat sa musí zhodovať presne, vrátanehttpvs.https, veľkých písmen a koncového lomítka. Pridajte jednu pre náhľad a jednu pre živú doménu.- Vyžaduje sa HTTPS: redirect URI musia používať HTTPS, okrem
localhostpočas vývoja. - Parameter
stateby sa mal pri návrate kontrolovať na ochranu pred cross-site request forgery. Dobré knižnice to robia za vás.
Ak žiadate len základné údaje na prihlásenie (meno, e-mail, profil), Google uvádza, že overenie aplikácie nie je povinné. Žiadosť o prístup k Gmailu, Disku alebo Kalendáru používateľov je iná vec a vyžaduje overenie.
Vytvoriť alebo použiť poskytovateľa?
| Prístup | Príklady | Kedy sa hodí |
|---|---|---|
| Hostovaný poskytovateľ autentifikácie | Služby, ktoré hostujú prihlásenie, správu používateľov a relácie za vás | Chcete rýchlo mať prihlásenie a menej bezpečnostnej zodpovednosti |
| Autentifikačná knižnica vo vašej aplikácii | Open-source knižnice pre váš framework | Chcete používateľov vo vlastnej databáze a žiadne poplatky za používateľa |
| Napísať to samostatne | — | Takmer nikdy. Príliš veľa jemných detailov |
Oba prvé prístupy sú rozumné. Hostovaní poskytovatelia robia viac za vás, ale pridávajú závislosť a niekedy účtujú podľa aktívnych používateľov; aktuálne ceny skontrolujte na ich webových stránkach. Knižnice držia všetko vo vašej databáze, ale viac nastavení ostáva na vás, aby ste ich urobili správne. Nech ste zvolili čokoľvek, požiadajte AI, aby použila túto možnosť, a nepísala logiku hesiel alebo relácií od nuly.
Roly a oprávnenia
Prihlásenie vám povie, kto niekto je. Oprávnenia rozhodujú, čo môže robiť. Na začiatku to držte jednoducho:
| Rola | Typické oprávnenia |
|---|---|
| Návštevník | Vidí verejné stránky |
| Člen / zákazník | Vidí a upravuje vlastné záznamy |
| Zamestnanec | Vidí všetky záznamy svojho tímu alebo firmy; nemôže meniť nastavenia ani fakturáciu |
| Vlastník / admin | Všetko vrátane používateľov a fakturácie |
Pravidlá, ktoré sú dôležitejšie než názvy rolí:
- Kontrolujte na serveri, vždy. Skrytie tlačidla na stránke nezabráni nikomu zavolať API priamo.
- Obmedzte na vlastníka. Člen, ktorý si vyžiada „rezerváciu 123“, ju má dostať len vtedy, ak je jeho.
- Používatelia sa nemôžu sami povýšiť. Pri aktualizáciách profilu ignorujte polia rolí poslané z prehliadača.
- Predvolene žiadny prístup. Nové trasy majú vyžadovať prihlásenie, pokiaľ sa nerozhodnete inak.
Otestujte to s dvoma účtami: prihláste sa ako jeden, poznačte si ID záznamu a potom sa prihláste ako druhý a skúste ho otvoriť. Náš bezpečnostný kontrolný zoznam obsahuje úplný test.
Bezpečnosť relácií
Po prihlásení si aplikácia používateľa zapamätá pomocou relácie — zvyčajne cookie. Odporúčania OWASP k správe relácií:
- Cookies relácie nastavené s
Secure(len HTTPS),HttpOnly(nečitateľné skriptmi stránky) aSameSite - Nové ID relácie sa vydá pri prihlásení a znova pri zmene oprávnení
- Časový limit nečinnosti a maximálna absolútna dĺžka života, vynucované na serveri
- Odhlásenie ukončí reláciu na serveri, nielen zmaže cookie
- Relácie sa zneplatnia, keď používateľ zmení heslo
Ukladanie prihlasovacích tokenov v local storage prehliadača je v tutoriáloch bežné, ale vystavuje ich každému skriptu bežiacemu na stránke; bezpečné cookies sú pre webové aplikácie zvyčajne lepšou predvolenou voľbou.
Prompt, ktorý pokryje základy
Pridaj používateľské účty do tejto aplikácie. Používatelia sa môžu registrovať a prihlásiť e-mailom a heslom alebo cez Google. Použi [knižnicu alebo poskytovateľa] namiesto vlastného kódu autentifikácie. Heslá hashuj pomocou Argon2id alebo bcrypt. Pridaj obnovu hesla e-mailom s jednorazovým odkazom, ktorý expiruje za jednu hodinu. Relácie drž v bezpečných cookies HttpOnly. Chráň /dashboard a každú trasu /api, aby ju mohli používať len prihlásení používatelia, a zabezpeč, aby používatelia videli len svoje projekty. Pridaj rolu „admin“, ktorá vidí všetkých používateľov; len administrátori sa dostanú na /admin, kontrolované na serveri.
Potom otestujte: zaregistrujte sa, odhláste sa, prihláste sa, obnovte heslo, skúste súkromnú URL bez prihlásenia a skúste záznam iného používateľa.
Bežné chyby pri prihlásení v aplikáciách stavaných s AI
- Ochrana len na stránke. Stránka presmeruje odhlásených používateľov, ale API vracia dáta komukoľvek.
- Tajomstvá v prehliadači. Client secret OAuth a admin kľúče poskytovateľa patria na server.
- Zamiešané náhľadové a živé URL. Redirect URI Google alebo odkaz na obnovu v e-maile smeruje na náhľad, takže prihlásenie sa po publikovaní pokazí.
- Žiadne overenie e-mailu. Ktokoľvek sa môže zaregistrovať ako anyone@company.com. Pred udelením čohokoľvek viazaného na túto adresu overte e-mail.
- Testovanie len šťastnej cesty. Vyskúšajte zlé heslá, expirované odkazy a druhý účet.
Pridanie prihlásenia v Mythexe
V Mythexe je prihlásenie pre používateľov vašej aplikácie niečo, čo pridávate do aplikácie — je oddelené od vášho vlastného účtu Mythex. Mythex nepridáva vstavaný produkt na autentifikáciu, takže prinesiete autentifikačnú knižnicu alebo poskytovateľa a jeho kľúče:
- Vyberte prístup — napríklad e-mail a heslo uložené vo vašej databáze alebo SDK hostovaného poskytovateľa.
- Ak používatelia ukladajú vo vašej databáze, aplikácia potrebuje databázu; požiadajte o ňu v chate alebo použite
/database. - Kľúče poskytovateľa vložte do tajomstiev projektu (
/secretsalebo nastavenia projektu). - Použite prompt podobný vyššie uvedenému a otestujte v Náhľade. Pri prihlásení cez Google pridajte redirect URI pre náhľad aj pre publikovanú adresu.
Pozrite si Pridanie prihlásenia do aplikácie v dokumentácii. Ak stavate platený produkt, ako postaviť SaaS MVP pokrýva účty a fakturáciu spolu.
Otázky
Aké je najjednoduchšie prihlásenie, ktoré môžem pridať do aplikácie?
Zvyčajne je najjednoduchšie a najbezpečnejšie použiť hostovaného poskytovateľa autentifikácie alebo dobre udržiavanú autentifikačnú knižnicu, pretože relácie, ukladanie hesiel a obnovu hesla už riešia za vás. Prihlásenie cez Google je najmenej náročná možnosť pre používateľov, ktorí majú účet Google.
Sú magické odkazy bezpečnejšie ako heslá?
Odstraňujú opätovné používanie hesiel a slabé heslá, ale riziko presúvajú na e-mailový účet používateľa. Odkazy by mali rýchlo vypršať a fungovať len raz. Pre väčšinu malých aplikácií sú rozumnou voľbou, často ponúkanou spolu s prihlásením cez Google.
Potrebujem schválenie od Google, aby som pridal Prihlásenie cez Google?
Ak žiadate len základné údaje na prihlásenie (meno, e-mail a profil), Google uvádza, že overenie aplikácie nie je povinné, aj keď stále nastavujete obrazovku súhlasu a klienta OAuth. Žiadosť o prístup k citlivým údajom, ako Gmail alebo Disk, vyžaduje overenie aplikácie od Google.
Aký je rozdiel medzi prihlásením a oprávneniami?
Prihlásenie (autentifikácia) potvrdzuje, kto používateľ je. Oprávnenia (autorizácia) rozhodujú, čo smie vidieť a robiť. Aplikácia potrebuje oboje a oprávnenia musí kontrolovať na serveri pri každej požiadavke.