Какой самый безопасный способ аутентификации работников фоновой очереди с помощью IdentityServer 4? - PullRequest
1 голос
/ 24 сентября 2019

У меня есть задачи, которые помещаются в фоновую очередь для асинхронной обработки.Автономный работник очереди должен пройти аутентификацию в отдельном API с помощью IdentityServer 4, по сути, «подражая» исходному пользователю, который запустил задачу.

Для этого я вижу два варианта:

  1. Вставьте токены доступа и обновления пользователя в полезную нагрузку очереди и используйте их для аутентификации при получении и выполнении задачи.Основная проблема заключается в том, что полезные данные очереди хранятся в базе данных в течение длительного периода времени, даже после выполнения, что означает сохранение маркеров доступа и обновления.
  2. Попробуйте воссоздать этот тип олицетворения пользователя вIdentityServer 4, https://www.moonlightbytes.com/blog/impersonation-in-identity-server-3. Это будет означать сохранение имени пользователя исходного пользователя в полезной нагрузке очереди.

Мои вопросы:

  • Какой из этих двух вариантовпредпочтительнее и безопаснее?
  • Есть ли другой способ добиться того, что мне нужно?

1 Ответ

0 голосов
/ 24 сентября 2019

Я бы предложил использовать делегирование , то есть вставить токен (только) в полезную нагрузку очереди (чтобы идентифицировать пользователя позже) и использовать вашего работника.ClientCredentials для аутентификации в момент вызова.

Ток обновлений определенно не подлежит разглашению.Это свойство приложения, для которого было запрошено.

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