Flask Academy · Oppitunti

Sessiot ja tilattomat tokenit

Milloin JWT sopii API:lle evästeitä paremmin.

Oppitunti 1/413 vaihetta

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.signature

Vä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. 🚀

Aloita maksutta

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

  1. Sessiot ja tilattomat tokenit
  2. Myönnä access-tokenit kirjautumisen yhteydessä
  3. Suojaa endpointit jwt_requiredilla
  4. Refresh-tokenit ja vanheneminen
← Takaisin: Flask Academy