Дмитрий
И в первом случае вообще тогда нет смысла
Почему нет смысла? JWT не обязательно расшифровывать на клиенте. Даже скажу больше - в основном никто на клиенте его не расшифровывает (если говорить об использовании JWT в качестве механима авторизации (access_token)). С точки зрения клиента он рассматривается как opaque string, не более. Смысл использовать все еще есть - чтобы снизить зависимость между resource server и auth server, а так же нагрузку на auth server. Без JWT каждый приходящий к resource server запрос нужно аутентифицировать, сделав внутренний запрос к auth server. С JWT это делать не обязательно (хотя иногда все равно делают, чтобы проверить, не отозван ли токен раньше expired date и т.п., когда безопасность важнее скорости работы, но тогда действительно смысл частично теряется).
Есть еще id_token (если говорить уже о стандарте OIDC, который описывает уже не просто формат (JWT), а еще и семантику), вот он как раз предназначен для клиента.
Ну и, опять же, сам формат JWT не привязан ни к access_token, ни к id_token. Его можно использовать для чего угодно. И далеко не всегда необходимо, чтобы клиент что-то из него получал. Так что нельзя так сказать, что если токен зашифрован, и клиент оттуда, соответственно, ничего получить не может, то такой токен нет смысла гонять на клиент. Смысл вполне может найтись.