Токен B2C не может предоставить доступ к API, защищенному с помощью AAD - PullRequest
2 голосов
/ 30 апреля 2019

У меня есть служба приложений Azure, защищенная проверкой подлинности Active Directory

Я могу успешно получить токены для пользователей Active Directory, которые будут авторизовывать запросы доступа к API, защищенному в домене «azurewebsites.net»

Я хочу использовать B2C, чтобы люди могли зарегистрироваться

Я создал арендатора B2C, добавил области действия API user_impersonation и предоставил доступ

Я подключаюсь к клиенту B2C в своем родном приложении и получаю токен

В отличие от токена AAD, он НЕ предоставляет доступ к безопасному API, упомянутому выше

Это выходные данные отладки, возвращаемые в моем экземпляре Visual Studio при входе в учетную запись B2C, подтверждая, что токен возвращается

Info (False) MSAL 2.7.1.0 MSAL.Xamarin.iOS 12.2 [04/30/2019 20:15:01 - bbc5a55f-7c7a-4cf0-ac5a-ed39a614f17f] Checking client info returned from the server..
Info (False) MSAL 2.7.1.0 MSAL.Xamarin.iOS 12.2 [04/30/2019 20:15:01 - bbc5a55f-7c7a-4cf0-ac5a-ed39a614f17f] Saving Token Response to cache..
Info (False) MSAL 2.7.1.0 MSAL.Xamarin.iOS 12.2 [04/30/2019 20:15:01 - bbc5a55f-7c7a-4cf0-ac5a-ed39a614f17f] Looking for scopes for the authority in the cache which intersect with https://alfretonb2c.onmicrosoft.com/backends/user_impersonation
Info (False) MSAL 2.7.1.0 MSAL.Xamarin.iOS 12.2 [04/30/2019 20:15:01 - bbc5a55f-7c7a-4cf0-ac5a-ed39a614f17f] Intersecting scope entries count - 0
Info (False) MSAL 2.7.1.0 MSAL.Xamarin.iOS 12.2 [04/30/2019 20:15:01 - bbc5a55f-7c7a-4cf0-ac5a-ed39a614f17f] Matching entries after filtering by user - 0
Info (False) MSAL 2.7.1.0 MSAL.Xamarin.iOS 12.2 [04/30/2019 20:15:01 - bbc5a55f-7c7a-4cf0-ac5a-ed39a614f17f] Saving RT in cache...
Info (False) MSAL 2.7.1.0 MSAL.Xamarin.iOS 12.2 [04/30/2019 20:15:01 - bbc5a55f-7c7a-4cf0-ac5a-ed39a614f17f] === Token Acquisition finished successfully. An access token was returned with Expiration Time: 04/30/2019 21:15:01 +00:00 ===

Ожидаемый результат - токен из каталога B2C, который я затем могу использовать для отправки защищенных запросов к API, защищенному с помощью аутентификации Active Directory на уровне службы приложений

Вместо этого я просто получаю

You do not have permission to view this directory or page.
...