Токен сохраняется в базе данных, поэтому все, что вам нужно, это уметь правильно расшифровать его на другой стороне.Для этого, если оба приложения являются ASP.NET Core, вам нужно только настроить поставщиков защиты данных для обоих приложений, чтобы они подключались к одному внешнему хранилищу и использовали одно и то же имя приложения.Внешним хранилищем может быть сетевое расположение, подключенный диск, хранилище ключей Azure и т. Д. Вам следует просмотреть полную документацию , но по существу:
services.AddDataProtection()
.SetApplicationName("shared app name")
.PersistKeysToFileSystem(new DirectoryInfo(@"\\server\share\directory\"));
Вам может понадобиться, а может и не понадобитьсяназначить одно приложение в качестве менеджера первичных ключей.По умолчанию каждое приложение будет автоматически поворачивать ключи, что может стать проблемой, если несколько приложений используют одни и те же ключи.Вы можете отключить ротацию клавиш для каждого приложения с помощью:
services.AddDataProtection()
.DisableAutomaticKeyGeneration();
По сути, вы бы добавили это во все подчиненные приложения, оставив только то, которое вы назначили в качестве основного для поворота ключей.