Ahojte, predstavte si biznis mikrosluzby, ktore su schovane v internej sieti, a niesu teda viditelne pre vonkajsi svet. Pristup k nim je cez springovu gateway, ktora smeruje requesty na pozadovane sluzby. Obcas sa moze stat situacia, ze jedna mikrosluzba, potrebuje volat inu mikrosluzbu. Potrebujeme tuto architekturu zabezpecit pomocou roli, a privilegii. Klienti ktory pristupuju k tymto mikrosluzbam su SPA aplikacie, a teda na autorizaciu uzivatelov pouzivame jwt.
Je podla vas ok mat tieto skryte mikrosluzby nezabezpecene, a riesit autorizaciu uz v gateway, alebo by ste gateway pouzili len na smerovanie requestov na konkretne mikrosluzby?
Ak by gateway sluzila len ako routovaci nastroj, mam druhy otazku, a to ako zabezpecit mikrosluzby, ak niekedy jedna mikrosluzba potrebuje volat inu? Poviem priklad:
Mikrosluzba A obsahuje zabezpeceny endopint pre rolu ADMIN, ktory vrati citlivejsie data. Takze z FE by tento endpoint nemal pravo zavolat uzivatel s inou rolou.
Na druhu stranu existuje mikrosluzba B, ktora ma endpoint pouzivatela s rolou USER. V ramci toho request potrebuje prevolat mikrosluzbu A kde su citlivejsie data, a z nich vytiahnut niektore udaje. V skratke, volanie medzi mikrosluzbami by nemalo byt obmedzovane ziadnymi rolami, a malo by to byt v kompetencii developera co zobrazi a co nie.