Witam
Niejako nie ma odpowiedniejszego działu na forum, to pytam tutaj.
Sprawa ma się następująco, mam architekturę systemu rozproszoną na kilka mniejszych micro-service, w praktyce jest to SSO, REST-API, kilka frontów na ReactJS, front na SF2, oraz (w planach) Socket.IO do serwowania treści real-time.
Moje pytanie opiera się o kwestie uprawnień dołączania/subskrybowania kanałów w Socket, mianowicie chciałbym aby możliwość subskrybcji na kanał x mieli tylko odpowiedni użytkownicy posiadający określone uprawnienie(a) (zostawienie tej kwestii samemu frontendowi to nie najlepszy pomysł), chociaż są też kanały "publiczne", czyli takie, które pozwalają na subskrybję przez każdego.
W praktyce, każdy zalogowany użytkownik ma token i na jego podstawie jestem w stanie wyciągnąć to co jest mi potrzebne.
Nie wiem jak się to w praktyce robi, tj. podpisuje się użytkownika tym samym tokenem (chociażby dostępu do API), generuje się nowe?
Grunt to to, żeby kanały restrykcyjne były dostępne tylko dla odpowiednich osób, a samo sprawdzenie uprawnień musi wyglądać tak, że Socket pyta się API o to czy token "abc" ma dostęp do subskrybcji.
Dzięki i pozdrawiam
---BTW
Moja koncepcja opierała się o sprawdzanie tokenu (jeżeli istnieje) otrzymanego przez API, nie interesuje mnie koncepcja oparta o Cookies