Включите требование аудита Azure AD B2C в вызов REST API настраиваемого утверждения

TL; DR: {OIDC: ClientId} всегда является вызывающим приложением. Еще мне нужно знать приложение "аудитория". Есть ли для этого специалист по урегулированию претензий?

Подробнее:

Вот в чем проблема:

  1. Приложение A и приложение B зарегистрированы в одном клиенте Azure AD B2C.
  2. Отдельный REST API (назовем его «API утверждений») передает настраиваемые утверждения в токены Azure AD B2C. Эти утверждения должны различаться в зависимости от приложения, потребляющего токен.
  3. Я использую преобразователь утверждений {OIDC: ClientId} для отправки clientId запрашивающего приложения в API утверждений, как в этом ответе.
  4. Когда приложение A запрашивает токен доступа для приложения B, API утверждений получает идентификатор клиента для приложения A. Однако мне нужно загрузить утверждения для приложения B, поскольку это приложение фактически будет потреблять токен. Итак, вопрос в том, как я могу получить идентификатор клиента для целевого приложения, а также для запрашивающего приложения?

Я рассмотрел возможность использования средства разрешения претензий {OIDC: scopes} для решения этой проблемы. Это может сработать, но похоже на взлом. Есть ли варианты получше?


person Jason Smith    schedule 03.01.2020    source источник


Ответы (1)


Согласно этому документу, что {OIDC:scopes} - единственный доступный вариант для этого. И если подумать, это имеет смысл, поскольку могут быть запрошены некоторые области, которые находятся за пределами текущего клиента (например, Microsoft Graph API). В этом случае невозможно будет указать clientId для целевого приложения.

{OIDC:scopes} - это одна строка, в которой все запрошенные области разделены пробелами. Чтобы определить, когда маркер доступа генерируется для приложения, отличного от текущего, достаточно простого поиска строки в поле областей. Если URI идентификатора приложения присутствует в строке областей действия, для этого приложения запрашивается маркер доступа.

person Jason Smith    schedule 03.01.2020