Товарищи, подскажите правильный подход в следующей ситуации.
Есть некое приложение на микросервисной архитектура с ядром на Java и Spring и имплементацией oAuth2.
Есть компонент S отвечающий за аутентификацию и выдачу access и refresh тонеков, их валидацию и собственно авторизацию запросов к другим компонентам А, B, C.
Пишется веб-приложение W которое должно работать с компонентами A, B, C аутентифицируя и авторизируя пользователя через S.
Вопрос: в такой микросервисной ахитектуре с oAuth внутри как по best practises делают session management между веб приложением W и пользователем?
Я вижу 2 опции:
1. Имеем свою традиционную веб-сесиию с обычным session ID между W и юзером на обычных куках, при этом на сервере W имеем мэппинг своих сессий и access+refresh токенов полученных c S для работы с A, B, C.
2. Работаем с access+refresh токенами только, выводя их на клиентскую часть, тоже в куках.., причем вроде как refresh токен обычно не светят на клиенте?
Какие из опций вообще разумны в этой ситуации? Может я что-то упускаю в понимании oAuth и микросервисов?