запросами внутри кластера.
пример:
1) с фронта прилетает запрос на protected api method (пройдя через gateway)
2) сервис отвечает статусом 401, gateway этот статус отдаёт на фронт
3) фронт редиректится на url вида https://id.mydomain.io?client_id=myapp&redirect_url=gateway_url_here - это keycloak
4) авторизуемся, нас редиректит на gateway (по пути сохраняем сессию с токеном в редис) , gateway возвращает нас на фронт
5) фронт продолжает посылать запросы со своим session_id, дальше тащим сессию с токеном из редиски на стороне сервисов кластера и смотрим на его валидность и работаем с уже бизнесовыми методами, если токен валидный и не протухший (если протух, то ходим и рефрешим в keycloak)
если рефреш не удался и токен прям протух-протух - то 401 на фронт и мы снова окажемся на https://id.mydomain.io
Обсуждают сегодня