Witam,
staram się zrozumieć działanie mikroserwisów i chciałbym testowo napisać jakąś małą aplikację z ich wykorzystaniem, ale także, żeby aplikacja miała wielu "dierżawców" (np. dane dla dzierżawcy byłyby udostępniane po subdomenie). Zrobiłem sobie małą strukturę w dockerze i wykorzystałem Keycloack do autoryzacji i uwierzytelnania. Połączyłem to z ApiGateway (Kong), co sprawdza czy użytkownik jest zalogowany i przesyła JWT dalej do mikroserwisu. W serwisie (na razie tworzyłem w Symfony jakieś api ze zleceniami - ale to chyba mało ważne w czym). I teraz nasuwa mi się takie pytanie jak to działa w mikroserwisach, żeby rozdzielić dane w każdych serwisach na tego "realm'a" z Keycloacka? Bo w Keycloacku tworzyłbym oddzielny Realm dla każdego dzierżawcy. Teraz w serwisie z tokena moge sobie wyodrębnić nazwę dzierżawcy. Ale czy w tym sewisie muszę mieć także tabelę users zreplikowaną z użytkownikami z keycloaka ? I jeśli będę miał 5/10/15 serwisów, które w jakiś sposób są powiązane z realmem lub tylko userem, muszę tworzyć w bazie dla serwisu tabelkę realm/user z jakimś identyfikatorem?
I od razu może drugie pytanko, bardziej powiązane z samym z systemami IAM (tu Keycloakiem) a nie ze multiteant. Chodzi mi o to że chciałbym aby każdy użytkownik był przypisany do np. "salonu sprzedaży". W Keycloak mogę chyba utworzyć niestandardowy atrybut -> id_salonu ale pytanie gdzie mam trzymać tą jedną tabelę "salon sprzedaży"? W podejściu w którym nie używałbym gotowego rozwiązania do autoryzacji, zrobiłbym tabelę użytkownicy(id, imie, nazwisko, salon_id) oraz tabelę powiązaną salony(id, nazwa). A jak do tego podejść używając IAM, czy to Keycloak czy innego rozwiązania?
Mam nadzieję, że napisałem zrozumiale.