Добавление разрешений к претензиям - Microsoft.Identity.Web и B2C

Я хотел бы попросить совета или направления к любой статье / документации о том, как добавить пользовательские утверждения к личности пользователя. В проекте, над которым я работаю, используется Azure B2C с Microsoft.Identity.Web.

Я ищу надежный способ добавления настраиваемого утверждения во время веб-запроса в веб-приложении. Заявление будет содержать разрешения, полученные из базы данных приложения. Так что мне также нужен способ хранить это утверждение между запросами, чтобы я не обращался к базе данных при каждом запросе.

Модель ролей и разрешений, хранящаяся в базе данных, довольно сложна и динамична (управляется администраторами), поэтому можно просто сохранить пользовательское утверждение в B2C через API-интерфейс графа.

Я думал о том, чтобы вмешаться с промежуточным программным обеспечением, выполняющим преобразование требований:

  • Это нормально с Microsoft.Identity.Web или мне не следует этого делать?

  • Все еще не знаете, как сохранить заявку между запросами - есть ли надежный способ при использовании Microsoft.Identity.Web?

1 ответ

Если вы хотите иметь разрешения в токене, и я предполагаю, что это был бы оптимальный способ, я бы сохранил их в пользовательском объекте, например, как JSON в кодировке Base64. У вас может быть довольно сложная структура, которую AAD B2C просто вернет в токене для пользователя. Затем вы можете делать с этим значением все, что хотите, как только оно попадет в ваш API. Он находится в токене, поэтому он правильно подписан, и вы получаете токен с каждым запросом, поэтому вам не нужно думать о доступе к какой-либо базе данных.

Другие вопросы по тегам