Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Logix authorization serverina kasutame valmis vabavara toodet - Keycloak server (https://www.keycloak.org/). See server tuleb eraldi protsessina käima lasta, eal tuleb seadistada autentimiseks vajalik domain (LogixDomain). Lisaks tuleb esmasel käivitamisel luua admin-kasutaja ning andmebaas klientide kontode jaoks (skeemil client credentials database).

  2. Iga kliendi jaoks (Qstep, Mobicarnet, Tallink, Waybiller) tuleb Keycloak kasutajaliidese kaudu luua kasutajakonto koos saladusega. Kasutajakonto tunnus ja saladus tuleb edastada kliendile, et nad saaks OAuth-funktsionaalsust kasutada

  3. Kui klient tahab Logixi digiteenuseid kasutada (näiteks edastada või pärida GS1-dokumenti), siis peab ta eelnevalt hankima OAuthi kaudu JWT tokeni (skeemil sammud 1 ja 3)

  4. Autentimise käigus pärib OAuth server andmebaasist kliendi profiili (samm 2) ning genereerib piiratud ajalise kestusega JWT tokeni.

  5. JWT tokenisse sisestab autoriseerimisserver selle kliendi tegutsemisõigused (JWT claims). Lõpuks allkijastab tokeni, et tagada selle võltsimiskindlus

  6. Kui klient on tokeni kätte saanud, saab ta teha päringu GS1 dokumendi saatmiseks/saamiseks (samm 4). Vastav HTTP päring peab sisaldama Authorization-päist Bearer-tokeniga (https://en.wikipedia.org/wiki/JSON_Web_Token#Use) - tokeniks ongi seesama JWT token.

  7. Logix API server saab päringust tokeni kätte, valideerib selle kestust, allkirja ning kliendi õigusi. Allkirja valideerimiseks peab API serveris olema seadistatud sama allkirjastamise krüptovõti mis autoriseerimisserveris. Kui kõik on korras, siis läheb päring täitmisele ja klient saab vastuse (samm 6)