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