Miten kirjautuminen toimii
Istunnot, tunnisteet ja identiteetti.
Miten kirjautuminen toimii on ilmainen Vibe-koodaus-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Vibe-koodaus-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Vibe-koodaus-kurssilla on yhteensä 4 oppituntia.
Mitä todennus tarkoittaa
Todennus vastaa yhteen kysymykseen: kuka tämä käyttäjä on? Ennen kuin sovelluksenne voi näyttää henkilökohtaisen hallintapaneelin tai tallentaa jonkun tietoja, sen on varmistettava, että vierailija on se, joka väittää olevansa.
Kun rakennatte sovellusta tekoälyavustajalle annettavilla kehotteilla, teidän ei tarvitse opetella ulkoa jokaista yksityiskohtaa. Tarvitsette kuitenkin mielikuvan kokonaisuudesta, jotta voitte esittää täsmällisiä kysymyksiä ja arvioida, onko luotu koodi turvallista.
Tunnistaminen ja käyttöoikeuksien myöntäminen
Kaksi sanaa sekoitetaan jatkuvasti. Todennus vahvistaa henkilöllisyyden. Valtuutus määrittää, mitä kyseinen henkilöllisyys saa tehdä.
Kirjautunut käyttäjä on todennettu. Se, saako hän poistaa toisen henkilön julkaisun, on valtuutusta. Kun pidätte nämä kaksi asiaa erillään kehotteissanne, koodista tulee selkeämpää ja tietoturva-aukkoja syntyy vähemmän.
Explain the difference between authentication and authorization in my
web app, and show where each one lives in the codebase so I don't
mix them up.Kirjautumisprosessi vaihe vaiheelta
Tyypillinen kirjautuminen toimii näin: käyttäjä lähettää sähköpostiosoitteen ja salasanan, palvelin tarkistaa tunnistetiedot, ja jos ne täsmäävät, palvelin antaa todisteen henkilöllisyydestä. Selain tallentaa tämän todisteen ja lähettää sen jokaisen myöhemmän pyynnön mukana.
Todiste on yleensä istuntoeväste tai token. Tämän toimintaketjun ymmärtäminen auttaa myöhemmin selvittämään ongelmia, joissa kysytään: "miksi kirjautumiseni katosi?"
Walk me through the exact sequence of what happens when a user submits
the login form in my app, from the request to the stored session.Miksi salasanat tiivistetään
Sovelluksen ei pitäisi koskaan tallentaa salasanoja sellaisenaan. Sen sijaan se tallentaa tiivisteen: algoritmin, kuten bcryptin tai argon2:n, tuottaman yksisuuntaisesti sekoitetun version.
Kun käyttäjä kirjautuu sisään, palvelin laskee lähetetyn salasanan tiivisteen ja vertaa sitä tallennettuun tiivisteeseen. Jos tietokanta vuotaa, hyökkääjät saavat vain tiivisteet, eivät oikeita salasanoja.
Confirm that my app hashes passwords with bcrypt or argon2 before
saving them, and never logs or stores the plain password anywhere.Istunnot ja tokenit
Kirjautuneen käyttäjän muistamiseen on kaksi yleistä tapaa. Istuntopohjainen tunnistautuminen tallentaa istuntotunnisteen evästeeseen ja säilyttää vastaavan tietueen palvelimella. Tokenipohjaisessa tunnistautumisessa (kuten JWT:ssä) asiakkaalle annetaan allekirjoitettu token, joka sisältää käyttäjän henkilöllisyyden.
Istunnot on helppo mitätöidä, kun taas tokenit skaalautuvat hyvin useiden palveluiden välillä. Monissa moderneissa teknologiapinoissa käytetään yhdistelmää, joten selvittäkää, mitä työkalunne käyttää oletuksena.
Should my project use server sessions or JWT tokens for keeping users
logged in? Compare both for a small app and recommend one.Evästeet kuljettavat todistetta
Riippumatta siitä, miten todiste tallennetaan, selain lähettää sen automaattisesti takaisin jokaisen pyynnön mukana evästeen avulla. Tärkeintä on tehdä näistä evästeistä turvallisia.
Tarkistakaa kolme lippua: HttpOnly estää JavaScriptiä lukemasta evästettä, Secure pakottaa käyttämään HTTPS:ää ja SameSite rajoittaa lähettämistä eri sivustojen välillä. Lippujen puuttuminen on yleinen vibe-koodauksen virhe.
Check that my session cookie is set with HttpOnly, Secure, and
SameSite=Lax flags, and explain what each flag protects against.Tilattomat ja tilalliset ratkaisut
Tilallisessa tunnistautumisessa palvelin muistaa jokaisen aktiivisen istunnon muistissa tai tietokannassa. Tilattomassa tunnistautumisessa palvelin luottaa allekirjoitettuun tokeniin eikä tallenna käyttäjäkohtaisia tietoja.
Tilallinen ratkaisu mahdollistaa välittömän uloskirjautumisen, mutta tarvitsee jaetun tallennustilan. Tilatonta ratkaisua on helpompi skaalata, mutta sen ennenaikainen mitätöinti on vaikeampaa. Kumpikaan ei ole yleisesti "parempi" — valinta riippuu sovelluksen koosta ja tarpeista.
Mitä uloskirjautuessa tapahtuu
Uloskirjautumisen pitäisi todella tuhota henkilöllisyyden todiste, ei vain piilottaa painiketta. Istuntojen tapauksessa palvelin poistaa istuntotietueen. Tokenien tapauksessa asiakas hylkää tokenin, ja palvelin voi lisätä sen estolistalle.
Yleinen virhe on tämä: käyttöliittymä näyttää käyttäjän kirjautuneen ulos, mutta eväste toimii edelleen. Testatkaa aina, että suojatut sivut todella hylkäävät pyynnön uloskirjautumisen jälkeen.
After a user clicks logout, make sure the session is destroyed on the
server and the cookie is cleared, then verify protected routes reject
the old session.Vanhentuminen ja päivitys
Henkilöllisyyden todisteen ei pitäisi olla voimassa ikuisesti. Istunnot ja tokenit vanhenevat tietyn ajan kuluttua, jotta varastetun evästeen käyttöaika jää rajalliseksi.
Jotta käyttäjien ei tarvitsisi kirjautua jatkuvasti uudelleen, monet järjestelmät käyttävät lyhytikäistä access tokenia ja pidempään voimassa olevaa refresh tokenia, joka uusii access tokenin huomaamatta. Pyytäkää avustajaa määrittämään käyttötapaukseenne sopivat vanhenemisajat.
Missä tunnistautumiskoodi sijaitsee
Useimmissa sovelluksissa tunnistautumislogiikka sijaitsee muutamassa ennakoitavassa paikassa: kirjautumisreitillä, rekisteröitymisreitillä, jokaisen pyynnön tarkistavassa middleware-komponentissa ja pienessä asiakaspuolen apufunktiossa, joka tuntee nykyisen käyttäjän.
Tämän rakenteen tunteminen mahdollistaa täsmälliset kehotteet. Sen sijaan että sanoisitte "korjaa kirjautumiseni", voitte sanoa "päivitä middleware, joka vahvistaa istuntoevästeen".
Show me a map of every file in my project that touches authentication,
and give each one a one-line description of its job.Huomioitavat uhat
Jotkin hyökkäykset kohdistuvat suoraan kirjautumisjärjestelmiin. Tunnistetietojen täyttöhyökkäyksessä käytetään uudelleen vuotaneita salasanoja, brute force -hyökkäyksessä kokeillaan nopeasti suurta määrää salasanoja, ja istunnon kaappauksessa varastetaan voimassa oleva eväste.
Teidän ei tarvitse ratkaista näitä kaikkia käsin. Niiden mainitseminen kehotteissa — esimerkiksi kirjautumisreitin rate limitingin pyytäminen — ohjaa avustajaa käyttämään turvallisempia oletuksia.
Add rate limiting to my login route so repeated failed attempts from
the same IP are slowed down, and explain the limits you chose.Pikakoe
Varmistetaan perusajatus ennen etenemistä.
Kertaus
Teillä on nyt toimiva malli kirjautumisesta: tunnistautuminen todistaa käyttäjän henkilöllisyyden, salasanoja ei tallenneta sellaisinaan vaan tiivisteinä, ja istunnosta tai tokenista tulee todiste, joka kulkee evästeissä jokaisen pyynnön mukana.
Näitte myös elinkaaren — kirjautumisen, vanhenemisen, päivityksen ja uloskirjautumisen — sekä sen, missä tunnistautumiskoodi sijaitsee. Tämän rakenteen avulla voitte antaa tekoälyavustajalle täsmällisiä ja turvallisia kehotteita.
Opi JavaScript tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 25
- Oppitunnit
- 100
Usein kysytyt kysymykset
Onko oppitunti ”Miten kirjautuminen toimii” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Vibe-koodaus-oppimispolun 3 oppituntia, myös oppitunnin “Miten kirjautuminen toimii”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Vibe-koodaus-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Miten kirjautuminen toimii”?
Istunnot, tunnisteet ja identiteetti. Harjoittelet Vibe-koodaus-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Vibe-koodaus-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Vibe-koodaus-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Miten kirjautuminen toimii”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Vibe-koodaus-oppitunnilla?
Kyllä. Jokainen Vibe-koodaus-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Miten kirjautuminen toimii
- Todennuspalvelun valinta
- Rekisteröitymisen ja kirjautumisen yhdistäminen
- Sivujen ja tietojen suojaaminen