А зачем "двухтокенная система" ?
Вы в своём приложении работаете с одним токеном, подписанным тем сервером, которому вы доверяете (==публичный ключ которого вам известен), в нём написано кому он выдан и сколько действует. Токен приколочен к запросу (через заголовок обычно), вы проверяете подпись и на этом всё - вы знаете от кого этот запрос. Трудности с многопоточностью могут быть только при выдаче токенов, в случае если у вас какое-нибудь CryptoPro JCP со своими самоизменяющимися ключами.
Как внешняя система этот токен получает - это её личные половые трудности, примеров получения токенов по openid-connect/oauth2 полон Интернет. Справедливости ради следует отметить, что в некоторых случаях есть нюансы - когда мы делали модуль для логина в ЕСИА через Keycloak выяснилось что такой запрос надо подписывать по ГОСТ.