Sessioonid ehk liiga tiheda autentimise vältimine

Allikas: Excellent || Opendoc
Mine navigeerimisribale Mine otsikasti

Standard Booksi Rest API liidesesse on lisandunud toimiv võimalus kasutada web sessioone.

  • Standard Booksis saab määrata, kui kaua web sessioon kehtib; Antud näiteks 24 tundi. (1440 minutit)
  • Seega peate tegema vaid ühe päringu Basic Auth infoga antud aja jooksul
  • ülejäänud päringud saate 24 tunni jooksul teha ilma autendi informatsioonita, saates headeris kaasa vaid coocie info.
  • Koormus Standard Booksi serverile väheneb märkimisväärselt, Books on oluliselt stabiilsem

Seadistused

  1. Veenduge, et Moodul Üldine > Seadistused > "Valikulised võimalused" teisel vahelehel ei oleks peal valikut "Ära luba Web API sessioone"
    1. Moodul Tehnika > Registrid > Programmiseadistus Veeb vahelehel oleks Max Sessioonid suurem number, kui 0, ehk näiteks 25.
    2. Samas seadistuses, samal real on "Timeout, minutid". Seal määrake väärtuseks näiteks "1440" (24H)
Max sessioone.png

Kasutamine

Näiteks kell 06:00 teen ma päringu, kus on sees auth info. Registrit ma ei määra (Selle peale saan küll statuse 404 ehk Page not found, aga saan cookie ikkagi vastu):

curl --location --request GET 'https://mars.excellent.ee:4455/api/1/' \
--header 'Content-Type: application/x-www-form-urlencoded;charset=utf-8' \
--header 'Authorization: Basic Tm8gbWlzIHNhIHNpaXQgbG9vdHNpZCBsZWlkYSA6KQ==' \

Selle päringuga saan ma endale HSESSION nimelise küpsise koos cookie value ehk IDga. Edasi kasutan seda sama valuet päringus ja ei pane kaasa autendi infot:

curl --location --request GET 'https://mars.excellent.ee:4455/api/1/TRVc' \
--header 'Content-Type: application/x-www-form-urlencoded;charset=utf-8' \
--header 'Cookie: HSESSION=CC1AC3C5-DAC9C590-DA4FD41F-1E820CB7-C1713CC8'

Ning järgmisel hommikul kell 06:00 teen ma autendi päringu. Ning ring jätkub.