ух ты.. спасибо!
Многая “боль” здесь мне близка.
у меня в общем архитектура такая: есть
login.domain.com , есть app*.
domain.com (их штук 18).
Я пока реализовал наброски так: если юзер заходит на любой app, он по CORS идет на POST
login.domain.com/refresh.. если приходит access_token в ответ - используем его уже как bearer в текущем микросервисе ведь мы уже знаем кто это. Если ошибка - редиректим юзера на login, ибо хз кто это (либо левый хакать пытается, либо просроченный токен, либо его отсутствие).
на логин сервере вводим кренедшлы, получаем в куку httpOnly сессию, и потом когда заходим снова на любой другой микросервис.. первым делом фронтенд КОРСом идет на логин и берет access token и юзает его. Если просрочился - опять КОРСом по сессии которая только в куках для логина берем новый токен и работаем дальше.
Я нашел это пока что самым лучшим что смог придумать.
Не хочется усложнять проект OAuth2, или разворачивать инфраструктуру для OpenID.
Вот почитаю подробнее о SAML..