Sessiot ja tilattomat tokenit
Milloin JWT sopii API:lle evästeitä paremmin.
Sessiot ja tilattomat tokenit on ilmainen Flask Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Flask Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Flask Academy-kurssilla on yhteensä 4 oppituntia.
Kaksi tapaa muistaa käyttäjät
HTTP unohtaa sinut pyyntöjen välillä. Jotta käyttäjä pysyy kirjautuneena, voit joko tallentaa session-session palvelimelle tai antaa asiakkaalle allekirjoitetun token-tunnisteen.
Miten sessiot toimivat
Session-sessiossa palvelin säilyttää kirjautumistilan ja antaa selaimelle pienen evästeen, jossa on vain session tunniste. Palvelin hakee tunnisteen perusteella tiedot jokaisen pyynnön yhteydessä. 🍪
Sessioiden kustannus
Koska palvelin tallentaa tilan, sen on muistettava jokainen aktiivinen käyttäjä. Tämä server-side state -tila kuormittaa palvelinta ja sen jakaminen useiden koneiden kesken on hankalaa.
Miten tunnisteet kääntävät asetelman
Token-tunniste sisältää käyttäjän tiedot, ja palvelin allekirjoittaa sen. Palvelimen ei enää tarvitse tallentaa mitään, vaan se tarkistaa allekirjoituksen jokaisen pyynnön yhteydessä.
Mitä tilattomuus tarkoittaa
Stateless tarkoittaa, ettei palvelin säilytä tietoa asiakkaasta. Kaikki käyttäjän luottamiseen tarvittava kulkee tunnisteessa jokaisen kutsun mukana.
JWT-tunnisteeseen tutustuminen
JWT (JSON Web Token) on standardin mukainen tilaton tunniste. Se on tiivis, allekirjoitettu merkkijono, jonka kuka tahansa avaimen tunteva palvelin voi tarkistaa välittömästi.
JWT:n kolme osaa
JWT koostuu kolmesta pisteillä erotetusta osasta: header-otsakkeesta, payload-sisällöstä ja signature-allekirjoituksesta. Otsake ilmoittaa allekirjoittamiseen käytetyn algoritmin.
header.payload.signatureVäitteet ovat payloadissa
Keskimmäinen osa sisältää claims-väitteitä: pieniä tietoja, kuten käyttäjän tunnisteen tai vanhenemisajan. Se koodataan mutta ei salata, joten älä koskaan sijoita sinne salaisuuksia.
{ "sub": "42", "exp": 1699999999 }Allekirjoitus luo luottamuksen
Signature-allekirjoitus muodostetaan otsakkeesta, sisällöstä ja salaisuudesta, jonka vain palvelin tietää. Yhdenkin tavun muuttaminen aiheuttaa varmennuksen epäonnistumisen.
Milloin tunnisteet ovat parempi vaihtoehto
Tunnisteet sopivat erinomaisesti API-rajapintoihin ja monien palvelinten välillä skaalautuviin mobiiliasiakkaisiin, koska kutsujan tarkistamiseen ei tarvita jaettua sessiovarastoa.
Milloin sessiot sopivat edelleen
Perinteisessä palvelimen renderöimässä verkkosivustossa sessions-sessiot ovat yksinkertaisempia ja helposti mitätöitäviä. Oikea valinta riippuu sovelluksestasi, ei suosionhuumasta.
Pikatarkistus
Mieti, mikä tekee tunnisteisiin perustuvasta lähestymistavasta tilattoman.
Kertaus
Sessiot tallentavat tilan server-palvelimelle, kun taas JWT:t siirtävät allekirjoitetun tilan asiakkaalle. Tunnisteet pysyvät tilattomina, joten ne sopivat erinomaisesti skaalautuviin API-rajapintoihin. 🚀
Opi Python 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
- 30
- Oppitunnit
- 120
Usein kysytyt kysymykset
Onko oppitunti ”Sessiot ja tilattomat tokenit” ilmainen?
Kyllä – oppitunnin ”Sessiot ja tilattomat tokenit” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Flask Academy-kurssin, päivitä CoddyKit PROhon. Flask Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Sessiot ja tilattomat tokenit”?
Milloin JWT sopii API:lle evästeitä paremmin. Harjoittelet Flask Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Flask Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Flask Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Sessiot ja tilattomat tokenit”-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ä Flask Academy-oppitunnilla?
Kyllä. Jokainen Flask Academy-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
- Sessiot ja tilattomat tokenit
- Myönnä access-tokenit kirjautumisen yhteydessä
- Suojaa endpointit jwt_requiredilla
- Refresh-tokenit ja vanheneminen