Разрешить использование API в мультитенантном ADB2C Azure другим клиентским приложением клиента

Я работаю над веб-API .net, реагирую на проекты приложений и зарегистрирован в другом клиенте Azure; Azure Active Directory B2C (ADB2C)

Tenant A: Проект веб-API

Tenant B: Клиентское приложение React1 (для этого необходимо использовать API от Тенанта А)

Tenant C: Клиентское приложение React2 (для этого необходимо использовать API от Тенанта А)

Я не могу видеть API в Tenant B/C с разрешением API и застрял здесь..

В Tenant A: у меня scope

https://MyMachine.onmicrosoft.com/api/xxx/Core.API.All

а затем под Арендатором А; Разрешение API -> Я добавил «Разрешение приложения» для API.

In Manifest я вижу

"signInAudience": "AzureADMultipleOrgs",

У меня такой же owner у всех жильцов

что еще мне нужно сделать, чтобы API от арендатора A был доступен для арендаторов B и C

я создал URL-адрес согласия, который просит меня авторизоваться, но я все еще не могу видеть Core.API.All в клиенте B/C с разрешением API

https://login.microsoftonline.com/{TenantA TenantID}/adminconsent?client_id = {TenantB : ClientID}&redirect_uri=http://localhost:3000/auth-callback

Проверьте это Learn.microsoft.com/en-us/answers/questions/25329/…

Rukmini 06.05.2024 15:31

Подробные инструкции по сценариям мультитенантного доступа к API см. в официальной документации Azure AD B2C: Learn.microsoft.com/en-us/azure/active-directory-b2c

Ravi Chauhan 06.05.2024 15:45
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
2
88
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В B2C TenantA я создал мультитенантное приложение, предоставил API и добавил область видимости:

Предоставленные разрешения API:

Чтобы получить это TenantA как корпоративное приложение в TenantB, выполните приведенную ниже команду и войдите в систему с пользователем TenantB:

https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?client_id=TenantAWebProjecttAppID&response_type=code&redirect_uri=https://jwt.ms&response_mode=fragment&scope=https://b2caadtenant.onmicrosoft.com/xxx/Core.API.All&state=12345

Приложение Enterprise будет создано в TenantB. Чтобы предоставить разрешения API корпоративному приложению в TenantB, выполните приведенную ниже команду и войдите в систему TenantB пользователя:

https://login.microsoftonline.com/organizations/adminconsent?client_id=TenantAWebProjecttAppID

В TenantB приложению Enterprise теперь предоставлены разрешения:

Теперь создайте приложение в TenantB и добавьте разрешение API TenantAWebProjectt, как показано ниже:

Теперь клиентское приложение TenantB сможет использовать API-интерфейсы TenantA и делать то же самое с TenantC.

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

K.Z 06.05.2024 17:20

появляется ошибка после ввода URL-адреса согласия. Войдите. Извините, но у нас возникли проблемы со входом в систему. xxDSTS500xxx: субъект ресурса с именем MyMachine.onmicrosoft.com/api не найден в клиенте с именем Mymachine.onmicrosoft.com. Это может произойти, если приложение не было установлено администратором клиента или не было получено согласие какого-либо пользователя в клиенте. Возможно, вы отправили запрос на аутентификацию не тому клиенту.

K.Z 06.05.2024 17:27

Приложение Enterprise создано в TenantB?

Rukmini 06.05.2024 17:29

У меня есть вопрос по обновлению с изображением разрешения API арендатора, который содержит зарегистрированное приложение веб-API

K.Z 06.05.2024 17:32

Для какого URL-адреса вы получаете эту ошибку?

Rukmini 06.05.2024 17:33

У арендатора A есть проект веб-API. У арендатора B зарегистрировано клиентское приложение. Не уверен, что вы имеете в виду, когда говорите, что корпоративное приложение создано в TenantB? да, приложение зарегистрировано

K.Z 06.05.2024 17:33

@K.Z вам необходимо создать корпоративное приложение приложения tenantA в TenantB, для этого вам необходимо создать URL-адрес авторизации и войти в систему с пользователем TenantB, а также создать URL-адрес согласия администратора. Проверьте мой ответ, это третье изображение

Rukmini 06.05.2024 17:36

Давайте продолжим обсуждение в чате.

Rukmini 06.05.2024 17:37

мне удалось отсортировать согласно вашим рекомендациям

K.Z 07.05.2024 16:46

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