Сообщение «Невозможно снять защиту с message.State» при масштабировании IdentityServer4 - PullRequest
0 голосов
/ 07 мая 2020

При запуске одного экземпляра IdentityServer4 мы можем успешно войти в систему с другим поставщиком удостоверений. Как только мы создаем несколько экземпляров IdentityServer4, тот же процесс завершается ошибкой после аутентификации пользователя, если результат обрабатывается другим сервером.

Сообщение «Невозможно снять защиту message.State» записывается в журналы, хотя ASP. NET Core DataProtection API правильно настроен для работы в среде с несколькими серверами.

1 Ответ

0 голосов
/ 07 мая 2020

Помимо ASP. NET Core DataProtection, некоторые компоненты IdentityServer4 полагаются на ASP. NET Core распределенное кэширование. В нашем случае следующий вызов зарегистрировал компонент, который полагается на IDistributedCache:

services.AddOidcStateDataFormatterCache();

В реализации по умолчанию используется кеш в памяти, что приводит к проблеме. После удаления строки IdentityServer4 работает в многосерверном развертывании.

Альтернативой может быть настройка распределенного кэширования для работы в многосерверной среде, как описано здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...